게임 업계 현직 개발자와 1:1 멘토링 플랫폼.
- Framework: Next.js 16 (App Router, React 19)
- Language: TypeScript 5
- Database: Supabase (PostgreSQL)
- Payments: TossPayments
- Email: Resend
- Styling: Tailwind CSS 4
- State: Zustand
- Deployment: Vercel
- Node.js 18+
- npm
- Supabase CLI (for local DB)
npm installcp .env.example .env.localEdit .env.local and fill in the required values. See .env.example for descriptions.
Minimum required for local dev:
NEXT_PUBLIC_SUPABASE_URL/NEXT_PUBLIC_SUPABASE_ANON_KEY— from Supabase dashboard or local CLISUPABASE_SERVICE_ROLE_KEY— for server-side API routesADMIN_EMAILS— your email to access/admin
cd supabase
supabase startThis starts a local Supabase stack (API on :54321, DB on :54322, Studio on :54323). Copy the printed anon key and service_role key into .env.local.
To reset the database and run migrations:
supabase db resetnpm run devOpen http://localhost:3000.
| Command | Description |
|---|---|
npm run dev |
Start development server |
npm run build |
Production build |
npm start |
Start production server |
npm run lint |
Run ESLint |
├── src/
│ ├── app/ # Next.js App Router (pages + API routes)
│ ├── components/ # React components
│ ├── lib/ # Utilities (supabase, email, payment, etc.)
│ ├── hooks/ # Custom React hooks
│ ├── stores/ # Zustand stores
│ ├── contexts/ # React contexts (Auth, Theme)
│ └── middleware.ts # Auth & admin middleware
├── supabase/ # Supabase config, migrations, schema
├── public/ # Static assets
└── docs/ # Documentation