Merge pull request #1 from kfnawaz/feat/init

Feat: initial setup
This commit is contained in:
bluestreamlds
2021-12-21 14:57:56 +05:30
committed by GitHub
9 changed files with 5771 additions and 0 deletions

2
.env.sample Normal file
View File

@@ -0,0 +1,2 @@
API_PORT=9000
MONGODB_URI=

22
.eslintrc.js Normal file
View 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

File diff suppressed because it is too large Load Diff

36
package.json Normal file
View 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
View 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
View 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 };

View File

@@ -0,0 +1,5 @@
module.exports = {
getUser: async (req, res) => {
res.send("Not Found");
},
};

View 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
View 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}/`);
});
})();