anas044/attendance-nodejs
0
1const express = require("express");2const cookieParser = require("cookie-parser");3const path = require("path");4require("dotenv").config();5const http = require("http");6const { setupSocketIO } = require("./websocket");7 8const app = express();9const server = http.createServer(app);10setupSocketIO(server);11 12// --------------------13// Middleware14// --------------------15app.use(express.json());16app.use(cookieParser());17 18// --------------------19// API routes (FIRST)20// --------------------21app.use("/api", require("./routes/routes.js"));22 23// --------------------24// Serve Vite build25// --------------------26const __dirnameResolved = path.resolve();27app.use(express.static(path.join(__dirnameResolved, "dist")));28 29// --------------------30// SPA fallback (CRITICAL)31// --------------------32app.use((req, res) => {33 res.sendFile(path.join(__dirnameResolved, "dist", "index.html"));34});35;36 37// --------------------38// Start server39// --------------------40const PORT = 7860;41server.listen(PORT, "0.0.0.0", () => {42 console.log(`Server running on port ${PORT}`);43});44 