Full-stack Hacker News clone split into separate frontend and backend packages.
frontend/ React 19 + Vite + Apollo Client
server/ GraphQL Yoga + Prisma ORM + MySQL
pnpm installpnpm dev:frontend
pnpm build:frontend
pnpm preview:frontendVite loads the GraphQL endpoint from mode-specific env files:
- local dev:
frontend/.env.development->http://localhost:4000 - production build:
frontend/.env.production->https://api.wkylin.cn
The production frontend domain is https://hacker.wkylin.cn.
Create server/.env from server/.env.example, then run:
pnpm prisma:generate
pnpm prisma:push
pnpm dev:serverThe backend listens on http://localhost:4000 locally and is intended to run behind https://api.wkylin.cn in production.
Deployment examples are in deploy/.