const express = require("express"); const cors = require("cors"); const mongoose = require("mongoose"); const { createServer } = require("http"); const { Server } = require("socket.io"); const dotenv = require("dotenv"); if (process.env.NODE_ENV) { dotenv.config({ path: `.env.${process.env.NODE_ENV}`, }); } else { dotenv.config(); } const app = express(); const httpServer = createServer(app); const io = new Server(httpServer, { path: '/api/socket.io', cors: { origin: true, credentials: true, }, }); const connectDB = require("./db"); // const gridCellsRouter = require("./routes/gridCells"); // gridCellsRouter.setIO(io); // connect database connectDB(); app.use( cors({ origin: true, credentials: true, }) ); app.use(express.json()); // Socket.IO io.on("connection", (socket) => { console.log(`Socket connected: ${socket.id}`); socket.on("disconnect", () => { console.log(`Socket disconnected: ${socket.id}`); }); }); app.get("/api/test", (req, res) => { console.log("Hey"); res.json({ message: "Hello from backend!" }); }); // Site management routes const sitesRouter = require("./routes/sites"); app.use("/api/sites", sitesRouter); const PORT = process.env.PORT || 5000; httpServer.listen(PORT, () => { console.log(`Server running on port ${PORT}`); });