79 lines
2.2 KiB
Markdown
79 lines
2.2 KiB
Markdown
# Environment Setup
|
|
|
|
## Quick Setup (RECOMMENDED: Direct PostgreSQL Connection)
|
|
|
|
For best performance with heavy SQL queries, use direct PostgreSQL connection:
|
|
|
|
Create a `.env` file in the `backend` directory with the following content:
|
|
|
|
```env
|
|
# Direct PostgreSQL Connection (RECOMMENDED - Faster & More Reliable)
|
|
# Get this from: Supabase Dashboard > Settings > Database > Connection String (URI)
|
|
DATABASE_URL=postgresql://postgres:[password]@db.[project-ref].supabase.co:5432/postgres
|
|
|
|
# Optional: Supabase Client (for simple queries)
|
|
# Get from: Supabase Dashboard > Settings > API
|
|
SUPABASE_URL=https://your-project-ref.supabase.co
|
|
SUPABASE_SERVICE_KEY=your_service_role_key_here
|
|
|
|
# Server Configuration
|
|
PORT=3010
|
|
NODE_ENV=development
|
|
|
|
# CORS Configuration
|
|
CORS_ORIGIN=http://localhost:5173
|
|
```
|
|
|
|
## Alternative Setup (Supabase Client Only)
|
|
|
|
If you prefer to use only Supabase client (not recommended for heavy queries):
|
|
|
|
```env
|
|
# Supabase Configuration
|
|
SUPABASE_URL=https://your-project-ref.supabase.co
|
|
SUPABASE_ANON_KEY=your_anon_key_here
|
|
|
|
# Supabase Service Key (REQUIRED for backend operations)
|
|
# Get this from: Supabase Dashboard > Settings > API > service_role key
|
|
SUPABASE_SERVICE_KEY=your_service_role_key_here
|
|
|
|
# Server Configuration
|
|
PORT=3010
|
|
NODE_ENV=development
|
|
|
|
# CORS Configuration
|
|
CORS_ORIGIN=http://localhost:5173
|
|
```
|
|
|
|
## Important Notes
|
|
|
|
1. **DATABASE_URL (RECOMMENDED)** - Direct PostgreSQL connection
|
|
- Faster for heavy SQL queries
|
|
- No API key issues
|
|
- Get from: Supabase Dashboard > Settings > Database > Connection String (URI)
|
|
- Replace `[password]` with your database password
|
|
- Replace `[project-ref]` with your project reference
|
|
|
|
2. **SUPABASE_SERVICE_KEY** - Required if using Supabase client
|
|
- Go to your Supabase Dashboard
|
|
- Navigate to Settings > API
|
|
- Copy the `service_role` key (not the `anon` key)
|
|
- ⚠️ **Use service_role key, NOT anon key** for backend operations
|
|
|
|
3. **Never commit `.env` files** - They are in `.gitignore` for security
|
|
|
|
4. **Troubleshooting**: If you get "Invalid API key" errors, see `TROUBLESHOOTING.md`
|
|
|
|
## Verification
|
|
|
|
After creating the `.env` file, test the connection:
|
|
|
|
```bash
|
|
cd backend
|
|
npm install
|
|
npm run dev
|
|
```
|
|
|
|
You should see: `✅ Database connection successful`
|
|
|