export {}
- Create
.envin project root:
DATABASE_URL="file:./dev.db"
NEXT_PUBLIC_RECAPTCHA_SITE_KEY="your_recaptcha_site_key"
RECAPTCHA_SECRET_KEY="your_recaptcha_secret_key"
- Install deps:
npm install
- Generate client, push schema, seed:
npm run prisma:generate
npm run prisma:push
npm run db:seed
- Run dev server:
npm run dev
- POST
/api/quiz/start: creates 10-min session cookie - GET
/api/quiz/questions: requires active session - POST
/api/quiz/submit: body{ answers: Record<string,string>, phone: string(10) }, ends session
- Sessions are stored in SQLite with
expiresAtandisActive - Cookies are httpOnly, sameSite=lax, secure
- Phone validation: 10 digits