For most people, hackathons are one day or two. For some, their life is the hackathon.
Their titles might be SWE, MLE, whatever, but at the core, they are real hackers and builders.
Hackercinema is the cinema where their stuff come together like a movie.
Create a .env.local file. See env.example for all options.
# Auth Mode (dev only) - both needed for full mock auth
NEXT_PUBLIC_USE_MOCK_AUTH=true
USE_MOCK_AUTH=true
# Backend API
BACKEND_BASE_URL=http://localhost:8080
API_KEY=your_backend_api_key
# Cloudinary (for image uploads)
CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_api_key
CLOUDINARY_API_SECRET=your_api_secretWith mock auth enabled, you can use the DevAuthButton to impersonate any user without GitHub OAuth.
To use real GitHub OAuth, leave USE_MOCK_AUTH unset or set to false, and add:
# GitHub OAuth App
GITHUB_APP_CLIENT_ID=your_client_id_here
GITHUB_APP_CLIENT_SECRET=your_client_secret_here
# NextAuth (generate with: openssl rand -base64 32)
NEXTAUTH_SECRET=your_nextauth_secret
NEXTAUTH_URL=http://localhost:3000Generate NEXTAUTH_SECRET:
openssl rand -base64 32Get GitHub credentials:
- Go to https://github.com/settings/apps
- Create a New GitHub App
- Set callback URL:
http://localhost:3000/api/auth/callback/github - Get Client ID and generate Client Secret
Mock Auth Mode (NEXT_PUBLIC_USE_MOCK_AUTH=true and USE_MOCK_AUTH=true):
- DevAuthButton appears at top of page
- Enter any GitHub username to impersonate
- No GitHub OAuth needed
- Fast for local testing
Real Auth Mode (env vars unset or set to false):
- Click "Join with GitHub" button
- Full GitHub OAuth flow
- Tests production auth behavior
- DevAuthButton hidden
npm install
npm run devNote: In production, only real auth is used regardless of env vars.