- Node 18+
- Supabase project with table
ridesand columns:iduuid (pk, defaultgen_random_uuid())created_attimestamptz defaultnow()created_bytext (auth user id)createdByEmailtext (legacy email)fromType/fromValuetexttoType/toValuetextdatetimetext (ortravel_date+travel_time),totalPriceint,seatsTotalint,seatsFilledint default 0,genderPreftext,phonetext,passengerEmailstext[] default '{}'
- RLS: allow authenticated users to select/insert/update/delete their own rows (and allow select for browse). Adjust policies per your security needs.
Create .env.local (gitignored):
NEXT_PUBLIC_SUPABASE_URL=your-project.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-public-anon-key
npm install
npm run dev # start
npm run build # production build
- Add the two env vars in Vercel project settings.
- Deploy with
vercelor Git connect; Next.js 16 app router is supported. - If you see lockfile root warnings, we set
turbopack.rootin next.config.ts already.