const express = require('express'); const cors = require('cors'); const app = express(); // Middleware app.use(cors({ origin: process.env.CORS_ORIGIN || 'http://localhost:8080', credentials: true })); app.use(express.json()); app.use(express.urlencoded({ extended: true })); // Request logging middleware app.use((req, res, next) => { console.log(`${new Date().toISOString()} - ${req.method} ${req.path}`); next(); }); // Health check endpoint app.get('/api/health', (req, res) => { res.status(200).json({ status: 'ok', message: 'Backend is running', timestamp: new Date().toISOString(), environment: process.env.NODE_ENV || 'development' }); }); // API routes app.use('/api/auth', require('./routes/auth')); app.use('/api/users', require('./routes/users')); app.use('/api/events', require('./routes/events')); app.use('/api/wsdc', require('./routes/wsdc')); // app.use('/api/matches', require('./routes/matches')); // app.use('/api/ratings', require('./routes/ratings')); // 404 handler app.use((req, res) => { res.status(404).json({ error: 'Not Found', message: `Cannot ${req.method} ${req.path}` }); }); // Error handler app.use((err, req, res, next) => { console.error('Error:', err); res.status(err.status || 500).json({ error: err.message || 'Internal Server Error', ...(process.env.NODE_ENV === 'development' && { stack: err.stack }) }); }); module.exports = app;