New project structure

New folder structure
Changed to type:module
Moved routes to separate files
This commit is contained in:
2020-07-17 22:07:55 +02:00
parent ad8ed283d2
commit 2abec5017f
28 changed files with 1252 additions and 305 deletions

27
loaders/express.js Normal file
View File

@@ -0,0 +1,27 @@
import bodyParser from "body-parser";
import cors from "cors";
import rateLimiter from "express-rate-limit";
import helmet from "helmet";
import routeDish from "../routes/routeDish.js";
import routeCity from "../routes/routeCity.js";
import routeRestaurant from "../routes/routeRestaurant.js";
import routeImg from "../routes/routeImg.js";
export default ({ app }) => {
const limiter = rateLimiter({
windowMs: 15 * 60 * 1000, //time window
max: 100, //requests from a single IP for a time window
});
app.use(bodyParser.json({ limit: "100kb" })); // limit JSON body payload size
app.use(bodyParser.urlencoded({ extended: true }));
app.use(helmet());
app.use(limiter);
app.use(cors());
app.use("/dish", routeDish);
app.use("/city", routeCity);
app.use("/restaurant", routeRestaurant);
app.use("/img", routeImg);
return app;
};

9
loaders/index.js Normal file
View File

@@ -0,0 +1,9 @@
import expressLoader from "./express.js";
import mongooseLoader from "./mongoose.js";
export default async ({ expressApp, dbPass }) => {
const mongoConnection = await mongooseLoader({ pass: dbPass });
console.log("Mongoose Loaded");
await expressLoader({ app: expressApp });
console.log("Express Initialized");
};

14
loaders/mongoose.js Normal file
View File

@@ -0,0 +1,14 @@
import mongoose from "mongoose";
export default async ({ pass }) => {
const connection = await mongoose.connect(
"mongodb+srv://menui_db_user:" +
pass +
"@menui-database.9quwf.mongodb.net/<dbname>?retryWrites=true&w=majority",
{ useNewUrlParser: true, useUnifiedTopology: true },
(err) => {
if (err) console.log("Unable to connect :(");
else console.log("Connected To Database");
}
);
};