Skip to content
Snippets Groups Projects
Select Git revision
  • master
  • brancheP3
  • corrections_2023
  • branche-avec-truc-style
  • branche-a-rebase
5 results

README.md

Blame
  • server.js 1.28 KiB
    const express = require("express");
    const logger = require("morgan");
    const cors = require("cors");
    const mongoose = require("mongoose");
    const indexRouter = require("./routes/index");
    const usersRouter = require("./routes/users");
    const moviesRouter = require("./routes/movies");
    const genresRouter = require("./routes/genres");
    const recoRouter = require("./routes/recommendations");
    const routeNotFoundJsonHandler = require("./services/routeNotFoundJsonHandler");
    const jsonErrorHandler = require("./services/jsonErrorHandler");
    
    mongoose.connect(process.env.MONGO_DB_URL);
    
    const app = express();
    
    app.use(logger("dev"));
    app.use(cors());
    app.use(express.json());
    app.use(express.urlencoded({ extended: false }));
    
    // Register routes
    app.use("/", indexRouter);
    app.use("/users", usersRouter);
    
    app.use("/movies", moviesRouter);
    app.use("/genres", genresRouter);
    app.use("/reco", recoRouter);
    
    // Register 404 middleware and error handler
    app.use(routeNotFoundJsonHandler); // this middleware must be registered after all routes to handle 404 correctly
    app.use(jsonErrorHandler); // this error handler must be registered after all middlewares to catch all errors
    
    const port = parseInt(process.env.PORT || "3000");
    
    app.listen(port, () => {
      console.log(`Server listening at http://localhost:${port}`);
    });