feat: initial setup
This commit is contained in:
2
.env.sample
Normal file
2
.env.sample
Normal file
@@ -0,0 +1,2 @@
|
||||
API_PORT=9000
|
||||
MONGODB_URI=
|
||||
22
.eslintrc.js
Normal file
22
.eslintrc.js
Normal file
@@ -0,0 +1,22 @@
|
||||
module.exports = {
|
||||
root: true,
|
||||
env: {
|
||||
node: true,
|
||||
es2021: true,
|
||||
},
|
||||
extends: ["eslint:recommended", "google"],
|
||||
parserOptions: {
|
||||
ecmaVersion: 12,
|
||||
},
|
||||
rules: {
|
||||
"indent": ["error", 2, { SwitchCase: 1 }],
|
||||
"object-curly-spacing": ["error", "always"],
|
||||
"max-len": ["error", { code: 150 }],
|
||||
"space-before-function-paren": 0,
|
||||
"valid-jsdoc": 0,
|
||||
"camelcase": 0,
|
||||
"new-cap": 0,
|
||||
"quotes": 0,
|
||||
"comma-dangle": 0,
|
||||
},
|
||||
};
|
||||
5643
package-lock.json
generated
Normal file
5643
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
36
package.json
Normal file
36
package.json
Normal file
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"name": "plaidware-wms-core",
|
||||
"version": "1.0.0",
|
||||
"description": "Warehouse management system",
|
||||
"main": "src/index.js",
|
||||
"scripts": {
|
||||
"start": "node src/index.js",
|
||||
"dev": "nodemon src/index.js",
|
||||
"lint": "eslint . -c .eslintrc.js",
|
||||
"lint-fix": "eslint . -c .eslintrc.js --fix"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/kfnawaz/plaidware-wms-core.git"
|
||||
},
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"bugs": {
|
||||
"url": "https://github.com/kfnawaz/plaidware-wms-core/issues"
|
||||
},
|
||||
"homepage": "https://github.com/kfnawaz/plaidware-wms-core#readme",
|
||||
"dependencies": {
|
||||
"bcrypt": "^5.0.1",
|
||||
"cors": "^2.8.5",
|
||||
"dotenv": "^10.0.0",
|
||||
"express": "^4.17.2",
|
||||
"helmet": "^4.6.0",
|
||||
"jsonwebtoken": "^8.5.1",
|
||||
"mongoose": "^6.1.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"eslint": "^8.5.0",
|
||||
"eslint-config-google": "^0.14.0",
|
||||
"nodemon": "^2.0.15"
|
||||
}
|
||||
}
|
||||
8
src/config/env.js
Normal file
8
src/config/env.js
Normal file
@@ -0,0 +1,8 @@
|
||||
require("dotenv").config();
|
||||
|
||||
const envVariables = {
|
||||
API_PORT: process.env.API_PORT || "3000",
|
||||
MONGODB_URI: process.env.MONGODB_URI || "mongodb://localhost:12017",
|
||||
};
|
||||
|
||||
module.exports = envVariables;
|
||||
10
src/controller/index.js
Normal file
10
src/controller/index.js
Normal file
@@ -0,0 +1,10 @@
|
||||
const router = require("express").Router();
|
||||
const userRouter = require("./user.router");
|
||||
|
||||
router.use("/user", userRouter);
|
||||
|
||||
router.get("/", (req, res) => {
|
||||
res.send("Hello world");
|
||||
});
|
||||
|
||||
module.exports = { router };
|
||||
5
src/controller/user.controller.js
Normal file
5
src/controller/user.controller.js
Normal file
@@ -0,0 +1,5 @@
|
||||
module.exports = {
|
||||
getUser: async (req, res) => {
|
||||
res.send("Not Found");
|
||||
},
|
||||
};
|
||||
6
src/controller/user.router.js
Normal file
6
src/controller/user.router.js
Normal file
@@ -0,0 +1,6 @@
|
||||
const router = require("express").Router();
|
||||
const controller = require("./user.controller");
|
||||
|
||||
router.get("/:id", controller.getUser);
|
||||
|
||||
module.exports = router;
|
||||
39
src/index.js
Normal file
39
src/index.js
Normal file
@@ -0,0 +1,39 @@
|
||||
const express = require("express");
|
||||
|
||||
const helmet = require("helmet");
|
||||
const cors = require("cors");
|
||||
|
||||
const mongoose = require("mongoose");
|
||||
const { router } = require("./controller");
|
||||
const {
|
||||
API_PORT,
|
||||
MONGODB_URI,
|
||||
} = require("./config/env");
|
||||
|
||||
(async () => {
|
||||
console.log("Connecting to MongoDB ...");
|
||||
await mongoose
|
||||
.connect(MONGODB_URI, {
|
||||
useNewUrlParser: true,
|
||||
useUnifiedTopology: true,
|
||||
})
|
||||
.then(() => {
|
||||
console.log("Connected to MongoDB at: ", MONGODB_URI);
|
||||
})
|
||||
.catch(console.error);
|
||||
|
||||
mongoose.set("debug", true);
|
||||
|
||||
const app = express();
|
||||
|
||||
// config
|
||||
app.use(helmet({ contentSecurityPolicy: false }));
|
||||
app.use(cors());
|
||||
app.use(express.json());
|
||||
app.use(router);
|
||||
|
||||
app.listen(API_PORT, () => {
|
||||
console.log(`Server started on port ${API_PORT}`);
|
||||
console.log(`http://localhost:${API_PORT}/`);
|
||||
});
|
||||
})();
|
||||
Reference in New Issue
Block a user