67 lines
1.3 KiB
JavaScript
67 lines
1.3 KiB
JavaScript
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}`);
|
|
});
|
|
|