New project structure
New folder structure Changed to type:module Moved routes to separate files
This commit is contained in:
27
loaders/express.js
Normal file
27
loaders/express.js
Normal 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
9
loaders/index.js
Normal 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
14
loaders/mongoose.js
Normal 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");
|
||||
}
|
||||
);
|
||||
};
|
||||
Reference in New Issue
Block a user