49 lines
1.1 KiB
JavaScript
49 lines
1.1 KiB
JavaScript
require("dotenv").config();
|
|
const express = require("express");
|
|
const bodyParser = require("body-parser");
|
|
const cors = require("cors");
|
|
const fetch = global.fetch || require("node-fetch"); // for Node < v18
|
|
|
|
const path = require("path");
|
|
|
|
const adminRoutes = require("./routes/adminRoutes");
|
|
const clientRoutes = require("./routes/clientRoutes");
|
|
const uploadRoutes = require("./routes/uploadRoutes");
|
|
const monitorRoutes = require("./routes/monitorRoutes");
|
|
|
|
|
|
|
|
const app = express();
|
|
|
|
// Middleware
|
|
app.use(cors());
|
|
app.use(bodyParser.json());
|
|
app.use(bodyParser.urlencoded({ extended: true }));
|
|
|
|
|
|
|
|
// Routes
|
|
|
|
|
|
app.use("/uploads", express.static(path.join(__dirname, "uploads"), {
|
|
setHeaders: (res) => {
|
|
res.setHeader("Cache-Control", "public, max-age=604800, immutable");
|
|
}
|
|
}));
|
|
|
|
app.use("/api/admin", adminRoutes);
|
|
app.use("/api/client", clientRoutes);
|
|
app.use("/api/files", uploadRoutes);
|
|
app.use("/api/monitor", monitorRoutes);
|
|
|
|
app.get("/", (req, res) => {
|
|
res.send("Dine 360 Backend server is running...");
|
|
});
|
|
|
|
|
|
// Start server
|
|
const PORT = process.env.PORT || 5000;
|
|
app.listen(PORT, () => {
|
|
console.log("✅ Server listening on port", PORT);
|
|
});
|