Next.js app for the ClawKitchen marketing site + marketplace (recipes + UGC submissions/moderation).
- Next.js (App Router)
- Tailwind CSS
/— landing/marketplace— marketplace home/marketplace/submit— authenticated recipe submission/marketplace/submissions— “your submissions”/admin/submissions— moderation queue (requiressession.role=moderator|admin)
- Copy env:
cp .env.example .env- Install + run:
npm install
npm run dev- OAuth providers are enabled only if their
AUTH_*_ID+AUTH_*_SECRETenv vars are set. - To test moderation, set:
ADMIN_EMAILS="you@example.com"- sign in with that same email (it will be auto-promoted to
role=adminon sign-in).
npm run lint
npm run buildNotes:
npm run buildrunsscripts/build.sh.- If
DATABASE_URLis Postgres (postgres:///postgresql://), the build will runprisma migrate deploy(andprisma generate) beforenext build.
- Push this repo to GitHub.
- In Vercel: New Project → Import the repo.
- Framework preset: Next.js (defaults are fine).
Set one of these in Vercel project env vars:
NEXT_PUBLIC_SITE_URL(recommended; e.g.https://clawcipes.dev)
If NEXT_PUBLIC_SITE_URL is not set, the app will fall back to Vercel’s VERCEL_URL for preview deployments.
- Marketplace UGC “published recipes” are sourced from the DB and merged into the public recipes API.
- Current UGC detail slugs are generated on submit and stored on
Submission.slug(API also accepts legacyidduring the migration window).