|
apps/web/ – Main Next.js web applicationsrc/components/ – UI and editor componentssrc/hooks/ – Custom React hookssrc/lib/ – Utility and API logicsrc/stores/ – State management (Zustand, etc.)src/types/ – TypeScript typesBefore you begin, ensure you have the following installed on your system:
npm alternative)cd apps/webbun installbun run devStart the database and Redis services:
# From project root
docker-compose up -d
Navigate to the web app directory:
cd apps/web
Copy .env.example to .env.local:
# Unix/Linux/Mac
cp .env.example .env.local
# Windows Command Prompt
copy .env.example .env.local
# Windows PowerShell
Copy-Item .env.example .env.local
Configure required environment variables in .env.local:
Required Variables:
# Database (matches docker-compose.yaml)
DATABASE_URL="postgresql://opencut:opencutthegoat@localhost:5432/opencut"
# Generate a secure secret for Better Auth
BETTER_AUTH_SECRET="your-generated-secret-here"
BETTER_AUTH_URL="http://localhost:3000"
# Redis (matches docker-compose.yaml)
UPSTASH_REDIS_REST_URL="http://localhost:8079"
UPSTASH_REDIS_REST_TOKEN="example_token"
# Development
NODE_ENV="development"
Generate BETTER_AUTH_SECRET:
# Unix/Linux/Mac
openssl rand -base64 32
# Windows PowerShell (simple method)
[System.Web.Security.Membership]::GeneratePassword(32, 0)
# Cross-platform (using Node.js)
node -e "console.log(require('crypto').randomBytes(32).toString('base64'))"
# Or use an online generator: https://generate-secret.vercel.app/32
Optional Variables (for Google OAuth):
# Only needed if you want to test Google login
GOOGLE_CLIENT_ID="your-google-client-id"
GOOGLE_CLIENT_SECRET="your-google-client-secret"
Run database migrations: bun run db:migrate from (inside apps/web)
Start the development server: bun run dev from (inside apps/web)
The application will be available at http://localhost:3000.
Note: We're currently moving at an extremely fast pace with rapid development and breaking changes. While we appreciate the interest, it's recommended to wait until the project stabilizes before contributing to avoid conflicts and wasted effort.
We welcome contributions! Please see our Contributing Guide for detailed setup instructions and development guidelines.
Quick start for contributors:
Thanks to Vercel for their support of open-source software.