Spaces:
Sleeping
Sleeping
| const express = require('express'); | |
| const cors = require('cors'); | |
| const helmet = require('helmet'); | |
| const morgan = require('morgan'); | |
| const config = require('./config'); | |
| const v1Routes = require('./routes/v1.routes'); | |
| const { errorHandler } = require('./middleware/errorHandler'); | |
| const app = express(); | |
| // Security middleware | |
| app.use(helmet()); | |
| // Enable CORS | |
| app.use(cors({ | |
| origin: '*', // In production, restrict to frontend URL | |
| methods: ['GET', 'POST'], | |
| allowedHeaders: ['Content-Type', 'Authorization'] | |
| })); | |
| // Request parsing | |
| app.use(express.json({ limit: '1mb' })); | |
| app.use(express.urlencoded({ extended: true })); | |
| // Logging | |
| if (config.env === 'development') { | |
| app.use(morgan('dev')); | |
| } | |
| // Routes | |
| app.use('/api/v1', v1Routes); | |
| // Root endpoint for simple health check | |
| app.get('/', (req, res) => { | |
| res.json({ message: 'The Screening Room - Backend API Gateway is running' }); | |
| }); | |
| // Centralized error handling | |
| app.use(errorHandler); | |
| // Handle 404 | |
| app.use((req, res) => { | |
| res.status(404).json({ error: 'Not Found', message: 'The requested resource was not found' }); | |
| }); | |
| app.listen(config.port, () => { | |
| console.log(`Backend API Gateway listening on port ${config.port}`); | |
| console.log(`Environment: ${config.env}`); | |
| console.log(`Connecting to ML Service at: ${config.mlServiceUrl}`); | |
| }); | |