new-react / server.cjs
noumanjavaid's picture
Upload 23 files
65c09e3 verified
// 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`);
});