const express = require("express"); const path = require("path"); const session = require("express-session"); const passport = require("passport"); const passportInit = require("./passportInit.js"); const mongoose = require("mongoose"); require("dotenv").config(); // make app const app = express(); // get db const mongoDB = `mongodb+srv://${process.env.USER}:${process.env.PASS}@odin.eftl02o.mongodb.net/messageBoard?retryWrites=true&w=majority`; // or throw error main().catch((err) => console.log(err)); async function main() { await mongoose.connect(mongoDB); } // set paths app.use( "/styles/css", express.static(path.join(__dirname, "node_modules/bootstrap/dist/css")) ); app.use(express.static(path.join(__dirname, "public"))); // view engine setup app.set("views", path.join(__dirname, "views")); app.set("view engine", "ejs"); // passport setup passportInit(); app.use( session({ proxy: true, secret: process.env.SECRET_KEY, resave: false, saveUninitialized: true, }) ); app.use(passport.initialize()); app.use(passport.session()); // URL parsing app.use(express.json()); app.use(express.urlencoded({ extended: false })); // routing const indexRouter = require("./routes/index.js"); const userRouter = require("./routes/user.js"); const messageRouter = require("./routes/message.js"); app.use("/", indexRouter); app.use("/user", userRouter); app.use("/msg", messageRouter); module.exports = app;