// Load environment variables first require('dotenv').config({ path: '.env' }); const express = require('express'); const cors = require('cors'); const path = require('path'); const app = express(); const PORT = process.env.PORT || 3001; // Serve static files from the React app app.use(express.static(path.join(__dirname, 'dist'))); // Middleware app.use(cors()); app.use(express.json()); app.use((req, res, next) => { res.setHeader('Cross-Origin-Opener-Policy', 'same-origin-allow-popups'); res.setHeader('Cross-Origin-Embedder-Policy', 'credentialless'); next(); }); // API routes app.use('/api/init', require('./api/init.cjs')); app.use('/api/users', require('./api/users.cjs')); app.use('/api/sessions', require('./api/sessions.cjs')); // Health check endpoint app.get('/health', (req, res) => { res.json({ status: 'OK', timestamp: new Date().toISOString() }); }); // Start server app.listen(PORT, () => { console.log(`Server running on port ${PORT}`); console.log(`Health check: http://localhost:${PORT}/health`); });