├── .gitignore ├── package.json ├── schema.cjs └── server.cjs /.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | /package-lock.json -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "cors": "^2.8.5", 4 | "express": "^4.18.2", 5 | "mongoose": "^8.1.2" 6 | }, 7 | "devDependencies": { 8 | "nodemon": "^3.0.3" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /schema.cjs: -------------------------------------------------------------------------------- 1 | const mongoose = require('mongoose') 2 | const restaurantsSchema = new mongoose.Schema({ 3 | areaname:{ 4 | type:String 5 | }, 6 | avgRating:{ 7 | type:Number 8 | }, 9 | costForTwo:{ 10 | type:String 11 | }, 12 | cuisines:{ 13 | type:Array 14 | }, 15 | name:{ 16 | type:String 17 | } 18 | }) 19 | const Restaurant=mongoose.model('restaurantList',restaurantsSchema) 20 | const userSchema = new mongoose.Schema({ 21 | contact : { 22 | type : String 23 | }, 24 | email : { 25 | type : String 26 | }, 27 | password : { 28 | type : String 29 | }, 30 | userName : { 31 | type : String 32 | }, 33 | }) 34 | const Users = mongoose.model('userDetail', userSchema) 35 | 36 | module.exports = {Restaurant, Users} 37 | 38 | 39 | -------------------------------------------------------------------------------- /server.cjs: -------------------------------------------------------------------------------- 1 | const bodyParser = require('body-parser') 2 | const cors = require('cors') 3 | const express = require('express') 4 | const mongoose = require('mongoose') 5 | 6 | const {Restaurant,Users} = require('./schema.cjs') 7 | 8 | const app = express() 9 | app.use(bodyParser.json()) 10 | app.use(cors()) 11 | 12 | async function connectToDb() { 13 | try { 14 | await mongoose.connect('mongodb+srv://Nivetha:nive@cluster0.e1tcriv.mongodb.net/SwiggyDB?retryWrites=true&w=majority') 15 | console.log('DB connection established :)') 16 | const port = process.env.PORT || 8000 17 | app.listen(port, function() { 18 | console.log(`Listening on port ${port}...`) 19 | }) 20 | } catch(error) { 21 | console.log(error) 22 | console.log('Couldn\'t establish connection :(') 23 | } 24 | } 25 | connectToDb() 26 | app.post('/add-restaurant', async function(request, response) { 27 | try { 28 | await Restaurant.create({ 29 | "areaName" : request.body.areaName, 30 | "avgRating" : request.body.avgRating, 31 | "costForTwo" : request.body.costForTwo, 32 | "cuisines" : request.body.cuisines, 33 | "name" : request.body.name 34 | }) 35 | response.status(201).json({ 36 | "status" : "success", 37 | "message" : "restaurant entry successful" 38 | }) 39 | } catch(error) { 40 | response.status(500).json({ 41 | "status" : "failure", 42 | "message" : "restaurant entry unsuccessful", 43 | "error" : "error" 44 | }) 45 | } 46 | }) 47 | app.get('/get-restaurant-details', async function(request, response) { 48 | try { 49 | const restaurantDetails = await Restaurant.find() 50 | response.status(200).json(restaurantDetails) 51 | } catch(error) { 52 | response.status(500).json({ 53 | "status" : "failure", 54 | "message" : "could not fetch", 55 | "error" : error 56 | }) 57 | } 58 | }) 59 | 60 | app.delete('/delete-restaurant-detail/:id', async function(request, response) { 61 | try { 62 | const restaurant = await Restaurant.findById(request.params.id) 63 | if(restaurant) { 64 | await Restaurant.findByIdAndDelete(request.params.id) 65 | response.status(200).json({ 66 | "status" : "success", 67 | "message" : "deleted successfully" 68 | }) 69 | } else { //restaurant : null 70 | response.status(404).json({ 71 | "status" : "failure", 72 | "message" : "entry not found" 73 | }) 74 | } 75 | } catch(error) { 76 | response.status(500).json({ 77 | "status" : "failure", 78 | "message" : "could not delete", 79 | "error" : error 80 | }) 81 | } 82 | }) 83 | 84 | 85 | 86 | 87 | app.post('/create-new-user', async function(request, response) { 88 | try { 89 | await Users.create({ 90 | "userName" : request.body.userName, 91 | "email" : request.body.email, 92 | "password" : request.body.password, 93 | "contact" : request.body.contact 94 | }) 95 | response.status(201).json({ 96 | "status" : "success", 97 | "message" : "user created" 98 | }) 99 | } catch(error) { 100 | response.status(500).json({ 101 | "status" : "failure", 102 | "message" : "internal server error" 103 | }) 104 | } 105 | }) 106 | 107 | 108 | 109 | 110 | app.post('/validate-user', async function(request, response) { 111 | try { 112 | const user = await Users.findOne({ 113 | "email" : request.body.email, 114 | "password" : request.body.password 115 | }) 116 | if(user) { 117 | response.status(200).json({ 118 | "message" : "valid user" 119 | }) 120 | } else { 121 | response.status(401).json({ 122 | "message" : "invalid user" 123 | }) 124 | } 125 | } catch(error) { 126 | response.status(500).json({ 127 | "message" : "internal server error" 128 | }) 129 | } 130 | }) 131 | 132 | 133 | --------------------------------------------------------------------------------