├── .gitignore ├── package.json ├── schema.cjs └── server.cjs /.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | /package-lock.json -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "swigy", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "start": "npx nodemon server.cjs", 8 | "test": "echo \"Error: no test specified\" && exit 1" 9 | }, 10 | "keywords": [], 11 | "author": "", 12 | "license": "ISC", 13 | "dependencies": { 14 | "body-parser": "^1.20.2", 15 | "cors": "^2.8.5", 16 | "express": "^4.18.2", 17 | "mongoose": "^8.1.2" 18 | }, 19 | "devDependencies": { 20 | "nodemon": "^3.0.3" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /schema.cjs: -------------------------------------------------------------------------------- 1 | const mongoose=require('mongoose') 2 | 3 | const restaurantsSchema = new mongoose.Schema({ 4 | name :{ 5 | type : String, 6 | required:true 7 | }, 8 | avgRating:{ 9 | type :Number, 10 | required:true, 11 | }, 12 | costForTwo:{ 13 | type : String, 14 | required:true 15 | }, 16 | cuisines:{ 17 | type: Array, 18 | required:true 19 | }, 20 | contact:{ 21 | type:Number, 22 | required:true, 23 | }, 24 | place:{ 25 | type: String, 26 | required:true 27 | } 28 | },{versionKey:false}) 29 | const Restaurants = mongoose.model('restaurantslist',restaurantsSchema) 30 | 31 | 32 | const userSchema = new mongoose.Schema({ 33 | userName :{ 34 | type : String, 35 | required:true, 36 | }, 37 | email:{ 38 | type :String, 39 | required:true, 40 | }, 41 | password :{ 42 | type : String, 43 | required:true 44 | }, 45 | contact:{ 46 | type:Number, 47 | required:true, 48 | } 49 | }, {versionKey: false}) 50 | const Users = mongoose.model('userDetails',userSchema) 51 | module.exports={Restaurants,Users} 52 | -------------------------------------------------------------------------------- /server.cjs: -------------------------------------------------------------------------------- 1 | const express =require('express') 2 | const cors=require('cors') 3 | const bodyParser=require('body-parser') 4 | const mongoose=require('mongoose') 5 | const {Restaurants,Users}=require('./schema.cjs') 6 | // mongoose. 7 | // const {ObjectId}=require('mongoose') 8 | 9 | //skdjf 10 | const app = express() 11 | app.use(bodyParser.json()) 12 | app.use(cors()) 13 | async function connectToDb(){ 14 | try{ 15 | await mongoose.connect('mongodb+srv://Aashiq07:12345@cluster0.timq95j.mongodb.net/ResDetails?retryWrites=true&w=majority') 16 | 17 | console.log('Connection Established ||||....(()).o(≧▽≦)o.(())....||||') 18 | const port = process.env.PORT || 8000 19 | app.listen(port,function(){ 20 | console.log(`listening on port ${port}...`) 21 | }) 22 | }catch(error){ 23 | console.log(error) 24 | console.log('Couldn\'t Establish connection :(') 25 | } 26 | 27 | } 28 | connectToDb() 29 | 30 | app.post('/add-restaurant', async function(request,response){ 31 | try{ 32 | await Restaurants.create({ 33 | "name":request.body.name, 34 | "avgRating":request.body.avgRating, 35 | "costForTwo":request.body.costForTwo, 36 | "cuisines":request.body.cuisines, 37 | "contact":request.body.contact, 38 | "place":request.body.place 39 | }) 40 | response.status(202).json({ 41 | "status":"Success", 42 | "message":"user created" 43 | }) 44 | }catch(error){ 45 | response.status(500).json({ 46 | "status":"User not Created", 47 | "message": "internal server error", 48 | "error": error 49 | }) 50 | } 51 | }) 52 | 53 | app.get('/get-restaurant-details',async function(request,response){ 54 | try{ 55 | const restaurantDetails = await Restaurants.find() 56 | response.status(200).json(restaurantDetails) 57 | }catch(error){ 58 | response.status(500).json({ 59 | "status":"failure", 60 | "message": "not fetched", 61 | "error": error 62 | }) 63 | } 64 | 65 | }) 66 | 67 | 68 | app.post('/create-new-user', async function(request,response){ 69 | try{ 70 | await Users.create({ 71 | "userName":request.body.userName, 72 | "password":request.body.password, 73 | "email":request.body.email, 74 | "contact": request.body.contact 75 | }) 76 | response.status(202).json({ 77 | "status":"Success", 78 | "message":"user created" 79 | }) 80 | }catch(error){ 81 | response.status(500).json({ 82 | "status":"User not Created", 83 | "message": "internal server error", 84 | "error": error 85 | }) 86 | } 87 | }) 88 | 89 | app.delete("/delete-restaurant-detail/:id",async function(request,response){ 90 | try{ 91 | const restaurant = await Restaurants.findByIdAndDelete(request.params.id) 92 | if (restaurant) { 93 | await Restaurants.findByIdAndDelete(request.params.id) 94 | response.status(202).json({ 95 | "status":"Success", 96 | "message":"deleted successfully" 97 | }) 98 | } 99 | else{ 100 | response.status(500).json({ 101 | "status":"failure", 102 | "message": "entry not deleted", 103 | }) 104 | } 105 | 106 | }catch(error) 107 | { 108 | response.status(500).json({ 109 | "status":"failure", 110 | "message": "not deleted", 111 | }) 112 | } 113 | }) 114 | 115 | 116 | app.post('/validate-user',async function(request,response){ 117 | try{ 118 | const User= await Users.findOne({ 119 | "email":request.body.email, 120 | "password":request.body.password 121 | }) 122 | if (User) { 123 | response.status(200).json({ 124 | "message":"valid user" 125 | }) 126 | } 127 | else{ 128 | response.status(401).json({ 129 | "message":"invalid user" 130 | }) 131 | } 132 | }catch(error){ 133 | response.status(500).json({ 134 | "message":"invalid user" 135 | }) 136 | } 137 | }) --------------------------------------------------------------------------------