const express = require('express'); const cors = require('cors'); const path = require('path'); const dotenv = require('dotenv'); // Load environment variables dotenv.config(); const connectDB = require('./config/db'); const authRoutes = require('./routes/authRoutes'); const apiRoutes = require('./routes/apiRoutes'); // Connect to Database connectDB(); const app = express(); // Standard middlewares app.use(cors()); app.use(express.json()); app.use(express.urlencoded({ extended: true })); // API Routes app.use('/api/auth', authRoutes); app.use('/api', apiRoutes); // Serve Frontend static assets from the parent/frontend directory app.use(express.static(path.join(__dirname, '../frontend'))); // Fallback to index.html for single-page style behaviors app.use((req, res) => { res.sendFile(path.join(__dirname, '../frontend/index.html')); }); const PORT = process.env.PORT || 5000; app.listen(PORT, () => { console.log(`Server is running in security mode on port ${PORT}`); console.log(`System Host (Referer origin check) set to: ${process.env.SYSTEM_HOST || 'http://localhost:5000'}`); });