Professional Documents
Culture Documents
module.exports = connectToMongo;
-------index.js
"scripts": {
"serve": "nodemon index.js"
},
app.listen(port, () => {
console.log(`Example app listening on port ${port}`);
});
<<----------setup completed---------->>
--file structure
----backend
------models (for mongoose models)
------routes (for routes)
//to make sure unique content based on parameters like email, username
//one way to that but we will not use it to do so
const User = mongoose.model('userdata', userData);
User.createIndexes();
module.exports = User
router.post('/', (req,res)=>{
//make end-point here
console.log(req.body);
const user = User(req.body);
user.save();
res.send(req.body);
})
module.exports = router
app.use(express.json())
//Available routes(using app.use linking routes)
app.use('/api/<>',require('.routes/<route_name>'))
app.listen(port, () => {
console.log(`Example app listening on port ${port}`);
});
--Express validator
cmd: npm install --save express-validator
----then import below files in route file
const { body, validationResult } = require('express-validator')
--Models
----Userdata.js
--Routes
----userinfo.js
try {
//checking weather the same email exist or not
let user = await User.findOne({ username: req.body.username });
if (user) {
return res.status(400).json({ error: "username already exist" });
};
const salt = await bcrypt.genSalt(10);
const seqPass = await bcrypt.hash(req.body.password, salt);
user = await User.create({
name: req.body.name,
password: seqPass,
username: req.body.username,
dob: req.body.dob,
});
//.then(user => res.json(user)).catch(e=>{console.log(e);
res.json({error:"unique value for emial"})});
const data = {
user:{
id: user.id
}
}
let token = jwt.sign(data,pwt_key)
res.json(token);
}
catch(error){console.error(error.message)};
});
try {
//checking weather the same email exist or not
let user = await User.findOne({ username: req.body.username });
if (!user) {
return res.status(400).json({ error: "Enter valide credentials" });
};
--db.js
module.exports = connectToMongo;
--index.js
//Availble routes
app.use(express.json())
app.use('/api/user', require('./routes/userinfo'));
app.listen(port, () => {
console.log(`Example app listening on port ${port}`);
});
connectToMongo();