Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
node_modules
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1 +1,8 @@
# internship
Creating RESTFul Webservice with following route:-
Sr.No. URI HTTP Method Result
1 /user GET Show list of all the users.
2 /User POST Add details of new user.
3 /User/:id GET Show details of a user.
4 /User/:id PUT Edit details of a user.
5 /User/:id DELETE Delete a user.
57 changes: 57 additions & 0 deletions app.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
const express = require('express');
const app= express();
const path= require('path');
const mongoose= require('mongoose');
const User= require('./models/users');
const methodOverride= require('method-override');

mongoose.connect('mongodb://localhost:27017/internshipUser', {useNewUrlParser: true, useUnifiedTopology: true ,useFindAndModify:false})
.then(()=>{
console.log("connection open");
})
.catch((err)=>{
console.log(err);
})


app.set('views',path.join(__dirname, 'views'));
app.set('view engine','ejs');
app.use(express.urlencoded({extended:true}));
app.use(methodOverride('over'));

app.get('/user',async (req,res)=>{
const users=await User.find({})
res.render('index', {users});
})
app.get('/user/new', (req,res)=>{
res.render('new');
})
app.get('/user/:id', async (req,res)=>{
const {id}= req.params;
const user=await User.findById(id);
res.render('show',{user});
})
app.post('/user',async (req,res)=>{
const user= new User(req.body);
await user.save();
res.redirect('/user');
})
app.get('/user/:id/edit',async (req,res)=>{
const {id}= req.params;
const user= await User.findById(id)
res.render('edit',{user});
})
app.put('/user/:id',async (req,res)=>{
const user= await User.findByIdAndUpdate(req.params.id, req.body, {runValidators:true });
res.redirect(`/user/${user._id}`);
})
app.delete('/user/:id',async (req,res)=>{
const {id}= req.params;
await User.findByIdAndDelete(id);
res.redirect('/user');
})


app.listen(3000,()=>{
console.log("App is being served on port 3000");
})
25 changes: 25 additions & 0 deletions models/users.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
const mongoose= require('mongoose');

const userSchema= new mongoose.Schema({
name:{
type: String,
required:true
},
age: {
type: Number,
required: true
},
gender:{
type: String,
required: true,
enum:['male', 'female'],
lowercase:true
},
email:{
type: String,
required: true
}
})

const User= mongoose.model('User', userSchema);
module.exports= User;
Loading