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.
B478-Aws/server/index.js

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;