43 lines
1.3 KiB
JavaScript
43 lines
1.3 KiB
JavaScript
import express from "express";
|
|
import bodyParser from "body-parser";
|
|
import mongoose from "mongoose";
|
|
import UserController from "./controllers/userController.js";
|
|
import MatchController from "./controllers/matchController.js";
|
|
import SportController from "./controllers/sportController.js";
|
|
import { userSession } from "./middleware/authority.js";
|
|
import { mongooseDbName, mongoURI } from "./database/mongoose.js";
|
|
|
|
const server = express();
|
|
const port = process.env.PORT || 5000;
|
|
|
|
server.use(express.static("public")); // For all client files.
|
|
|
|
// Connection documentation: https://mongoosejs.com/docs/connections.html
|
|
try {
|
|
mongoose.connect(mongoURI, {
|
|
useNewUrlParser: true,
|
|
useUnifiedTopology: true,
|
|
dbName: mongooseDbName,
|
|
});
|
|
} catch (error) {
|
|
console.error(error);
|
|
}
|
|
|
|
if (process.env.NODE_ENV === "development") {
|
|
mongoose.set("bufferCommands", false); // We want to know if there are connection issues immediately for development. Disables globally.
|
|
}
|
|
|
|
// Docs: https://www.npmjs.com/package/body-parser
|
|
server.use(bodyParser.json());
|
|
server.use(bodyParser.urlencoded({ extended: true }));
|
|
|
|
server.use(userSession);
|
|
|
|
server.use("/user", UserController);
|
|
server.use("/match", MatchController);
|
|
server.use("/sport", SportController);
|
|
|
|
|
|
server.listen(port, () => {
|
|
console.log(`Server listening on port ${port}.`);
|
|
}); |