require("dotenv").config(); const express = require("express"); const cors = require("cors"); const path = require("path"); const { connectDB } = require("./config/db"); const passport = require("./config/passport"); const authRoutes = require("./src/routes/auth.routes"); const userRoutes = require("./src/routes/user.routes"); const app = express(); const PORT = process.env.PORT || 3050; // Request Logger app.use((req, res, next) => { console.log(`[REQUEST] ${req.method} ${req.url}`); next(); }); // ------------------ Connect DB ------------------ connectDB() .then(() => console.log("✅ Database connected successfully")) .catch((err) => console.error("❌ Database connection failed:", err)); // ------------------ CORS ------------------ app.use( cors({ origin: ["http://localhost:3500", "https://app.VG Products.co"], credentials: true, }) ); // ------------------ Body Parser (After Webhook) ------------------ app.use(express.json()); app.use(express.urlencoded({ extended: true })); // ------------------ Static Files ------------------ app.use(express.static(path.join(__dirname, "public"))); //passport app.use(passport.initialize()); // ------------------ Routes ------------------ app.use("/api/auth", authRoutes); app.use("/api/users", userRoutes); app.get("/", (_req, res) => { res.send("VG Products backend is running..."); }); // ------------------ Start Server ------------------ app.listen(PORT, () => console.log(`🚀 Server running on port ${PORT}`));