-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathserver.js
More file actions
35 lines (28 loc) · 961 Bytes
/
server.js
File metadata and controls
35 lines (28 loc) · 961 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
require("express-async-errors");
const app = require("express")();
const mongoose = require('mongoose');
const PORT = process.env.PORT;
const { MONGODB_URI } = require("./src/config");
// Pre-route middlewares
require("./src/middlewares/pre-route.middleware")(app);
// API routes
app.use("/api", require("./src/routes"));
// Ping me 🙂
app.get("/ping", (req, res) => res.status(200).send("Hello world!"));
// Error middlewares
require("./src/middlewares/error.middleware")(app);
app.listen(PORT, async () => {
//Initialize Database
const options = {
useNewUrlParser: true,
useCreateIndex: true,
useUnifiedTopology: true,
useFindAndModify: false
};
await mongoose.connect(MONGODB_URI, options)
console.log(':::> Connected to database')
console.log(`:::> Server listening on port ${PORT} @ http://localhost:${PORT}`);
});
app.on("error", (error) => {
console.error(`<::: An error occiurred in our server: \n ${error}`);
});