Chisis is a Next.js 16 app for beauty businesses, built with Supabase, Stripe, and next-intl.
- Node.js 20 or newer
- npm
- A Supabase project
- A Stripe account with a subscription price
- Supabase CLI and Stripe CLI for local database and webhook setup
Install dependencies:
npm installCreate a local env file from the example:
cp .env.local.example .env.localFill in .env.local:
NEXT_PUBLIC_APP_URL=http://localhost:3000
NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_ANON_KEY=
SUPABASE_SERVICE_ROLE_KEY=
STRIPE_SECRET_KEY=
STRIPE_WEBHOOK_SECRET=
STRIPE_PRICE_ID=Apply the initial schema in your Supabase project:
supabase link --project-ref <project-ref>
supabase db pushIf you are not using the Supabase CLI, run supabase/migrations/001_initial_schema.sql in the Supabase SQL editor.
Forward Stripe webhooks to the local app:
stripe listen --forward-to localhost:3000/api/webhooks/stripeCopy the webhook signing secret from the Stripe CLI output into STRIPE_WEBHOOK_SECRET.
Start the dev server:
npm run devOpen http://localhost:3000.
Run unit tests:
npm run testRun lint + typecheck + tests + build:
npm run checkRun linting, type checking, and a production build:
npm run checkYou can also run each step separately:
npm run lint
npm run typecheck
npm run build