feat: add backend setup with Express and unit tests
Backend Foundation (Phase 1 - Step 1):
**Infrastructure:**
- Add backend service to docker-compose.yml
- Configure nginx to proxy /api/* to backend
- Node.js 20 Alpine Docker container
**Backend Setup:**
- Express.js REST API server
- CORS configuration
- Request logging middleware
- Error handling (404, 500)
- Graceful shutdown on SIGTERM/SIGINT
- Health check endpoint: GET /api/health
**Testing:**
- Jest + Supertest for unit tests
- 7 test cases covering:
- Health check endpoint
- 404 error handling
- CORS headers
- JSON body parsing
- Code coverage: 88.23%
**Project Structure:**
- backend/src/app.js - Express app setup
- backend/src/server.js - Server entry point
- backend/src/__tests__/ - Unit tests
- backend/README.md - Backend documentation
**Environment:**
- .env.example template
- Development configuration
- Ready for PostgreSQL integration
All tests passing ✅
This commit is contained in:
16
backend/.env.example
Normal file
16
backend/.env.example
Normal file
@@ -0,0 +1,16 @@
|
||||
# Server
|
||||
NODE_ENV=development
|
||||
PORT=3000
|
||||
|
||||
# Database (future)
|
||||
# DATABASE_URL=postgresql://user:password@db:5432/spotlightcam
|
||||
|
||||
# JWT (future)
|
||||
# JWT_SECRET=your-secret-key-here
|
||||
# JWT_EXPIRES_IN=24h
|
||||
|
||||
# CORS
|
||||
CORS_ORIGIN=http://localhost:8080
|
||||
|
||||
# WebRTC (future)
|
||||
# STUN_SERVER=stun:stun.l.google.com:19302
|
||||
Reference in New Issue
Block a user