Software Requirements
Node.js 18 or higher
The application requires Node.js 18.0.0 or later for both frontend and backend.
npm 9.0.0 or higher is also required. This is typically bundled with Node.js 18+.
System Requirements
Development Environment
- RAM: Minimum 4GB, recommended 8GB+
- Storage: 2GB free space for dependencies and local database
- OS: Linux, macOS, or Windows with WSL2
Production Environment
- Server: Node.js hosting platform (Vercel, Render, Plesk)
- Database: CockroachDB Serverless cluster
- Network: HTTPS support required for OAuth callbacks
- Concurrent Users: Optimized for 50-100 users
- Connection pool: 20-30 connections recommended
Third-Party Accounts
Required Services
Supabase
Supabase
Purpose: Authentication (OAuth + JWT)Setup checklist:
- Create a Supabase project
- Enable email/password authentication
- Configure OAuth providers (optional)
- Note your Project URL and Anon Key
NEXT_PUBLIC_SUPABASE_URLNEXT_PUBLIC_SUPABASE_ANON_KEY
Cloudinary
Cloudinary
Purpose: Document storage and backup exportsSetup checklist:
- Create a Cloudinary account
- Create a cloud name
- Generate API credentials
- Configure upload presets (optional)
CLOUDINARY_CLOUD_NAMECLOUDINARY_API_KEYCLOUDINARY_API_SECRET
CockroachDB
CockroachDB
Purpose: Production database with automatic backupsSetup checklist:
- Create a CockroachDB Serverless cluster
- Create a database user
- Note your connection string
- Configure connection pooling (20-30 connections)
- Automatic hourly backups (30-day retention)
- Point-in-Time Recovery (PITR)
- Online schema migrations
DATABASE_URL(with connection pooling params)DIRECT_URL(for migrations)
Optional Services
Email Provider (SMTP)
Email Provider (SMTP)
Purpose: Password reset and notification emailsSetup checklist:
- Configure SMTP server (Gmail, SendGrid, AWS SES, etc.)
- Enable “Less secure app access” or generate app password
- Test email delivery
EMAIL_HOSTEMAIL_PORTEMAIL_USEREMAIL_PASSWORDEMAIL_FROM
Development Tools
Recommended
- Code Editor: VS Code with Prisma extension
- API Testing: Postman or Thunder Client
- Database GUI: Prisma Studio (included) or pgAdmin
- Git Client: GitHub Desktop or command line
Pre-Deployment Checklist
Before proceeding to environment setup:- Node.js 18+ installed
- PostgreSQL 18 running locally
- Supabase project created with credentials
- Cloudinary account with API keys
- CockroachDB cluster created
- SMTP credentials (if using email features)
- Git repository access
- Production hosting platform account (Vercel/Render/Plesk)
Once all prerequisites are met, proceed to Environment Configuration to set up your environment variables.
Connection Pooling Notes
For CockroachDB production deployment:The system is optimized for 50-100 concurrent users. Adjust
connection_limit to 20-30 based on your expected load.Next Steps
Environment Setup
Configure environment variables for backend and frontend
Database Setup
Initialize and migrate your database schema
