You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.1 KiB
JavaScript
46 lines
1.1 KiB
JavaScript
//[SECTION] Dependencies and Modules
|
|
const dotenv = require('dotenv').config();
|
|
const express = require("express");
|
|
const mongoose = require("mongoose");
|
|
const cors = require("cors");
|
|
const userRoutes = require("./routes/user");
|
|
const courseRoutes = require("./routes/course");
|
|
|
|
|
|
//[SECTION] Environment Setup
|
|
const port = process.env.PORT;
|
|
|
|
//[SECTION] Server Setup
|
|
const app = express();
|
|
|
|
app.use(cors())
|
|
app.use(express.json());
|
|
app.use(express.urlencoded({ extended: true }));
|
|
|
|
|
|
//[SECTION] Database Connection
|
|
mongoose.connect(process.env.CONNECTION_STRING, {
|
|
useNewUrlParser: true,
|
|
useUnifiedTopology: true
|
|
});
|
|
|
|
mongoose.connection.once('open', () => console.log('Now connected to MongoDB Atlas.'));
|
|
|
|
|
|
//[SECTION] Backend Routes
|
|
//http://localhost:4000/users
|
|
app.use("/users", userRoutes);
|
|
//http://localhost:4000/courses
|
|
app.use("/courses", courseRoutes);
|
|
|
|
|
|
//[SECTION] Server Gateway Response
|
|
if(require.main === module) {
|
|
app.listen( process.env.PORT || port, () => {
|
|
console.log(`API is now online on port ${ process.env.PORT || port }`)
|
|
});
|
|
}
|
|
|
|
|
|
module.exports = app;
|