Prerequisites
Before you begin, make sure you have the following:- Node.js 18+ and npm
- A Supabase project (the shared team project or your own)
- A PostgreSQL database — the Supabase project’s database works fine
Set up the project
Configure the backend
Copy the example environment file and fill in your Supabase credentials.Open
backend/.env and set the following four variables:| Variable | Where to find it |
|---|---|
DATABASE_URL | Supabase → Project Settings → Database → Connection string (URI) |
SUPABASE_URL | Supabase → Project Settings → API → Project URL |
SUPABASE_SERVICE_KEY | Supabase → Project Settings → API → service_role secret key |
SUPABASE_ANON_KEY | Supabase → Project Settings → API → anon public key |
Start the backend
Run the backend development server.The API will be available at
http://localhost:3000.Start the frontend
Launch the Expo development server.
On a physical device, the app automatically connects to your machine’s local IP — no manual configuration needed, as long as your phone and laptop are on the same WiFi network.
Open the app
Once the Expo server is running, you have three options:
- Physical device — scan the QR code with Expo Go
- iOS Simulator — press
iin the terminal - Android Emulator — press
ain the terminal
@calpoly.edu email address to create your account and start submitting challenges.Frontend environment (optional)
The frontend auto-detects the backend URL from Expo’s Metro bundler — no.env file is required for local development.
If you need to point the frontend at a remote or production API, copy the frontend example file and set EXPO_PUBLIC_API_URL: