Check prerequisites
Make sure you have the following before starting:
- Node.js 18+ — the platform uses Next.js 15 which requires Node 18 or later
- npm — bundled with Node.js
- Supabase account — used for the PostgreSQL database and Google OAuth authentication
- Cloudflare account — with R2 object storage and Cloudflare Images configured
Configure environment variables
Create a
.env.local file in the project root. All seven variables below are required for the platform to function:.env.local
| Variable | Description |
|---|---|
NEXT_PUBLIC_SUPABASE_URL | Your Supabase project URL, found in Project Settings → API |
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY | Supabase publishable key (preferred) — or use NEXT_PUBLIC_SUPABASE_ANON_KEY as legacy fallback |
R2_ENDPOINT | Cloudflare R2 S3-compatible endpoint for your account |
R2_ACCESS_KEY_ID | R2 API token access key ID |
R2_SECRET_ACCESS_KEY | R2 API token secret key |
R2_BUCKET_NAME | Name of your R2 bucket |
R2_BUCKET_PREFIX | Path prefix used for all R2 uploads |
NEXT_PUBLIC_* variables are exposed to the browser. Never place secret keys in variables with this prefix. The Supabase key is safe to expose — access is governed by Row Level Security.Run the development server
Explore the platform
Once the server is running you can navigate to any of the main sections:
Landing page
Main event landing page with media galleries, countdown, and schedule highlights.
Registration
Multi-step event registration form backed by Supabase.
Schedule
Interactive timeline of event programs (July 29 – August 2, 2026).
Admin dashboard
Protected portal requiring Google OAuth sign-in with an authorized domain.
Available scripts
eslint.ignoreDuringBuilds and typescript.ignoreBuildErrors are both set to true in next.config.mjs, so npm run build will succeed even with outstanding type or lint errors.Next steps
Architecture overview
Understand the global provider tree, routing, and data flow.
Project structure
Explore the full directory layout and Atomic Design component hierarchy.
Tech stack
Review all dependencies and the rationale behind each technology choice.
