Skip to content

Commit 26668f8

Browse files
committed
Start working on project
0 parents  commit 26668f8

File tree

11 files changed

+6582
-0
lines changed

11 files changed

+6582
-0
lines changed

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
node_modules/
2+
.env

package-lock.json

+6,483
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
{
2+
"name": "08projectmern",
3+
"version": "1.0.0",
4+
"description": "",
5+
"main": "src/server.js",
6+
"scripts": {
7+
"test": "jest",
8+
"start": "node src/server.js",
9+
"dev": "nodemon src/server.js"
10+
},
11+
"keywords": [],
12+
"author": "",
13+
"license": "ISC",
14+
"dependencies": {
15+
"dotenv": "^8.2.0",
16+
"express": "^4.17.1",
17+
"mongoose": "^5.10.3",
18+
"nodemon": "^2.0.4"
19+
},
20+
"devDependencies": {
21+
"jest": "^26.4.2",
22+
"supertest": "^5.0.0"
23+
}
24+
}

src/app_config/db.js

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
const mongoose=require('mongoose');
2+
3+
module.exports= ()=>{
4+
const db=process.env.MONGO_DB_CONNECTION;
5+
mongoose.connect(db,{useUnifiedTopology:true, useNewUrlParser:true})
6+
.then(()=>console.log(`connect with ${db}`))
7+
}

src/app_config/defineEnv.js

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
const { exists } = require('../models/User');
2+
3+
module.exports = ()=>{
4+
if (process.env.NODE_ENV !== 'production') {
5+
const dotenv = require('dotenv').config();
6+
}
7+
process.on('uncaughtException', (ex)=>{
8+
console.log("UncaughtException ", ex)
9+
process.exit(1)
10+
})
11+
process.on('unhandledRejection', (ex)=>{
12+
console.log('unhandledRejection', ex)
13+
process.exit(1)
14+
})
15+
}

src/app_config/mainRouter.js

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
const express = require('express')
2+
const error=require('../middleware/error');
3+
const registerController = require('../controllers/registerController')
4+
module.exports = (app) => {
5+
app.use(express.json())
6+
7+
app.post('/', registerController.store)
8+
app.use(error)
9+
}

src/controllers/registerController.js

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
const User = require('../models/User')
2+
module.exports={
3+
async store(req, res){
4+
try {
5+
const registerUser = req.body;
6+
const creatUser= await User.create(registerUser);
7+
return res.json(registerUser)
8+
} catch (error) {
9+
throw new Error(`The user is not register because of this error ${error}`)
10+
}
11+
}
12+
}

src/middleware/error.js

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
const { exists } = require("../models/User");
2+
3+
module.exports=(err, req, res ,next)=>{
4+
5+
console.log(err);
6+
res.send(500).send('something fail')
7+
exist(1);
8+
}

src/models/User.js

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
const mongoose= require('mongoose');
2+
3+
const UsrSchema= new mongoose.Schema({
4+
firstName:String,
5+
lastName:String,
6+
email:String,
7+
password:String
8+
})
9+
module.exports=mongoose.model('User',UsrSchema)

src/server.js

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
const express = require('express');
2+
const app = express();
3+
require('./app_config/defineEnv')()
4+
require('./app_config/db')()
5+
require('./app_config/mainRouter')(app);
6+
7+
const port = process.env.PORT || 8000
8+
9+
10+
app.listen(port, () => console.log(`Listening on ${port}`))
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
describe('RegisterController', ()=>{
2+
it(''
3+
})

0 commit comments

Comments
 (0)