Added backend and integration for FilterPage and CourseTable done
This commit is contained in:
@@ -1,25 +1,38 @@
|
||||
const express = require("express");
|
||||
const User = require("./models/User");
|
||||
const mongoose = require("mongoose");
|
||||
const bodyParser = require("body-parser");
|
||||
const cors = require("cors");
|
||||
require("dotenv").config();
|
||||
const passport = require("passport");
|
||||
const session = require("express-session");
|
||||
const bodyParser = require("body-parser");
|
||||
const bcrypt = require("bcryptjs");
|
||||
const LocalStrategy = require("passport-local").Strategy;
|
||||
const PasswordRouter = require("./routes/authRoutes");
|
||||
const crypto = require("crypto");
|
||||
const jwt = require("jsonwebtoken");
|
||||
const path = require("path");
|
||||
|
||||
const User = require("./models/User");
|
||||
const PasswordRouter = require("./routes/authRoutes");
|
||||
const courseRoutes = require("./routes/courseRoutes");
|
||||
const facultyRoutes = require("./routes/facultyRoutes");
|
||||
const appointmentRoutes = require("./routes/appointmentRoutes");
|
||||
|
||||
// Existing Database Connection
|
||||
const { connectdb } = require("./ConnectionDb");
|
||||
connectdb();
|
||||
|
||||
// MongoDB Connection
|
||||
mongoose
|
||||
.connect(process.env.mongoURI)
|
||||
.then(() => console.log("MongoDB connected"))
|
||||
.catch((err) => console.error("MongoDB connection error:", err));
|
||||
|
||||
const app = express();
|
||||
|
||||
// Middleware
|
||||
app.use(cors());
|
||||
app.use(express.json());
|
||||
app.use(bodyParser.urlencoded({ extended: true }));
|
||||
|
||||
app.use(
|
||||
session({
|
||||
secret: "secret",
|
||||
@@ -39,7 +52,7 @@ app.use(
|
||||
})
|
||||
);
|
||||
|
||||
// Passport configuration
|
||||
// Passport Configuration
|
||||
require("./config/passport");
|
||||
|
||||
passport.use(
|
||||
@@ -76,7 +89,11 @@ passport.deserializeUser((id, done) => {
|
||||
|
||||
// Routes
|
||||
app.use("/password", PasswordRouter);
|
||||
app.use("/api/courses", courseRoutes);
|
||||
app.use("/api/faculty", facultyRoutes);
|
||||
app.use("/api/appointments", appointmentRoutes);
|
||||
|
||||
// OAuth Routes
|
||||
app.get(
|
||||
"/auth/google",
|
||||
passport.authenticate("google", { scope: ["profile", "email"] })
|
||||
@@ -86,7 +103,7 @@ app.get(
|
||||
"/auth/google/callback",
|
||||
passport.authenticate("google", { failureRedirect: "/" }),
|
||||
function (req, res) {
|
||||
res.redirect("http://localhost:3000/Welcom");
|
||||
res.redirect("http://localhost:3000/Welcom");
|
||||
}
|
||||
);
|
||||
|
||||
@@ -174,15 +191,17 @@ app.get("/api/user/profile", async (req, res) => {
|
||||
}
|
||||
});
|
||||
|
||||
// Serve static files
|
||||
// Serve Static Files
|
||||
app.use(express.static(path.join(__dirname, "../client/build")));
|
||||
|
||||
// Catch-all route to serve React app
|
||||
// Catch-All Route
|
||||
app.get("*", (req, res) =>
|
||||
res.sendFile(path.join(__dirname, "../client/build/index.html"))
|
||||
);
|
||||
|
||||
const Port = 8080;
|
||||
|
||||
// Start Server
|
||||
const Port = process.env.PORT || 8080;
|
||||
app.listen(Port, () => {
|
||||
console.log(`Server is Running at port ${Port}`);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user