Some checks failed
CI/CD Pipeline / Backend Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Tests (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (push) Has been cancelled
CI/CD Pipeline / Security Scan (push) Has been cancelled
CI/CD Pipeline / Deploy to Staging (push) Has been cancelled
CI/CD Pipeline / Deploy to Production (push) Has been cancelled
Removed old/unused configuration files: - .env (root) - Old Google OAuth production credentials (not used) - .env.example (root) - Old Google OAuth template (replaced by Auth0) - docker-compose.dev.yml - Old Keycloak setup (replaced by Auth0) - Makefile - Unused build automation Improved environment configuration: - Created frontend/.env.example - Auth0 template for frontend - Updated backend/.env.example: - Fixed port numbers (5433 for postgres, 6380 for redis) - Added clearer Auth0 setup instructions - Matches docker-compose.yml port configuration Current setup: - docker-compose.yml - PostgreSQL & Redis services (in use) - backend/.env - Auth0 credentials (in use, not committed) - frontend/.env - Auth0 credentials (in use, not committed) - *.env.example files - Templates for new developers All old Google OAuth and Keycloak references removed. Application now runs on Auth0 only. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
VIP Coordinator Backend
NestJS 10.x backend with Prisma ORM, Auth0 authentication, and PostgreSQL.
Quick Start
# Install dependencies
npm install
# Set up environment variables
cp .env.example .env
# Edit .env with your Auth0 credentials
# Start PostgreSQL (via Docker)
cd ..
docker-compose up -d postgres
# Generate Prisma Client
npx prisma generate
# Run database migrations
npx prisma migrate dev
# Seed sample data (optional)
npm run prisma:seed
# Start development server
npm run start:dev
API Endpoints
All endpoints are prefixed with /api/v1
Public Endpoints
GET /health- Health check
Authentication
GET /auth/profile- Get current user profile
Users (Admin only)
GET /users- List all usersGET /users/pending- List pending approval usersGET /users/:id- Get user by IDPATCH /users/:id- Update userPATCH /users/:id/approve- Approve/deny userDELETE /users/:id- Delete user (soft)
VIPs (Admin, Coordinator)
GET /vips- List all VIPsPOST /vips- Create VIPGET /vips/:id- Get VIP by IDPATCH /vips/:id- Update VIPDELETE /vips/:id- Delete VIP (soft)
Drivers (Admin, Coordinator)
GET /drivers- List all driversPOST /drivers- Create driverGET /drivers/:id- Get driver by IDGET /drivers/:id/schedule- Get driver schedulePATCH /drivers/:id- Update driverDELETE /drivers/:id- Delete driver (soft)
Events (Admin, Coordinator; Drivers can view and update status)
GET /events- List all eventsPOST /events- Create event (with conflict detection)GET /events/:id- Get event by IDPATCH /events/:id- Update eventPATCH /events/:id/status- Update event statusDELETE /events/:id- Delete event (soft)
Flights (Admin, Coordinator)
GET /flights- List all flightsPOST /flights- Create flightGET /flights/status/:flightNumber- Get real-time flight statusGET /flights/vip/:vipId- Get flights for VIPGET /flights/:id- Get flight by IDPATCH /flights/:id- Update flightDELETE /flights/:id- Delete flight
Development Commands
npm run start:dev # Start dev server with hot reload
npm run build # Build for production
npm run start:prod # Start production server
npm run lint # Run ESLint
npm run test # Run tests
npm run test:watch # Run tests in watch mode
npm run test:cov # Run tests with coverage
Database Commands
npx prisma studio # Open Prisma Studio (database GUI)
npx prisma migrate dev # Create and apply migration
npx prisma migrate deploy # Apply migrations (production)
npx prisma migrate reset # Reset database (DEV ONLY)
npx prisma generate # Regenerate Prisma Client
npm run prisma:seed # Seed database with sample data
Environment Variables
See .env.example for all required variables:
DATABASE_URL- PostgreSQL connection stringAUTH0_DOMAIN- Your Auth0 tenant domainAUTH0_AUDIENCE- Your Auth0 API identifierAUTH0_ISSUER- Your Auth0 issuer URLAVIATIONSTACK_API_KEY- Flight tracking API key (optional)
Features
- ✅ Auth0 JWT authentication
- ✅ Role-based access control (Administrator, Coordinator, Driver)
- ✅ User approval workflow
- ✅ VIP management
- ✅ Driver management
- ✅ Event scheduling with conflict detection
- ✅ Flight tracking integration
- ✅ Soft deletes for all entities
- ✅ Comprehensive validation
- ✅ Type-safe database queries with Prisma
Tech Stack
- Framework: NestJS 10.x
- Database: PostgreSQL 15+ with Prisma 5.x ORM
- Authentication: Auth0 + Passport JWT
- Validation: class-validator + class-transformer
- HTTP Client: @nestjs/axios (for flight tracking)