Skip to content

Commit 7b1c670

Browse files
committed
code refactored
1 parent 6b1e848 commit 7b1c670

31 files changed

+1400
-1425
lines changed

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
# parkify
2+
23
Parking Web Application.

app.js

+53-56
Original file line numberDiff line numberDiff line change
@@ -1,61 +1,60 @@
1-
const express = require('express');
2-
const cors = require('cors');
3-
const mongoose = require('mongoose');
4-
const cookieParser = require('cookie-parser');
5-
const favicon = require('serve-favicon');
6-
const session = require('express-session');
7-
const MongoDBStore = require('connect-mongo')(session);
8-
const flash = require('express-flash');
9-
const helmet = require('helmet');
10-
const methodOverride = require('method-override');
11-
12-
require('dotenv').config();
1+
const express = require("express");
2+
const cors = require("cors");
3+
const mongoose = require("mongoose");
4+
const cookieParser = require("cookie-parser");
5+
const favicon = require("serve-favicon");
6+
const session = require("express-session");
7+
const MongoDBStore = require("connect-mongo")(session);
8+
const flash = require("express-flash");
9+
const helmet = require("helmet");
10+
const methodOverride = require("method-override");
11+
12+
require("dotenv").config();
1313

1414
const port = Number(process.env.PORT);
1515

1616
const uri = String(process.env.MONGO_URI);
1717
const connectOptions = {
18-
useNewUrlParser: true,
19-
useCreateIndex: true,
20-
useUnifiedTopology: true,
21-
useFindAndModify: false,
18+
useNewUrlParser: true,
19+
useCreateIndex: true,
20+
useUnifiedTopology: true,
21+
useFindAndModify: false,
2222
};
2323

2424
mongoose
25-
.connect(uri, connectOptions)
26-
.then()
27-
.catch((err) => console.log('Error:' + err));
25+
.connect(uri, connectOptions)
26+
.then()
27+
.catch((err) => console.log("Error:" + err));
2828

29-
mongoose.connection.once('open', () =>
30-
console.log('Connected to MongoDB successfully...')
29+
mongoose.connection.once("open", () =>
30+
console.log("Connected to MongoDB successfully...")
3131
);
3232

33-
3433
const app = express();
3534

3635
const secret = process.env.SECRET;
3736

3837
const store = new MongoDBStore({
39-
url: uri,
40-
secret,
41-
touchAfter: 24 * 60 * 60,
38+
url: uri,
39+
secret,
40+
touchAfter: 24 * 60 * 60,
4241
});
4342

44-
store.on('error', function (e) {
45-
console.log('SESSION STORE ERROR', e);
43+
store.on("error", function (e) {
44+
console.log("SESSION STORE ERROR", e);
4645
});
4746

4847
const sessionConfig = {
49-
store,
50-
name: 'session',
51-
secret,
52-
resave: false,
53-
saveUninitialized: true,
54-
cookie: {
55-
httpOnly: true,
56-
expires: Date.now() + 1000 * 60 * 60 * 24 * 7,
57-
maxAge: 1000 * 60 * 60 * 24 * 7,
58-
},
48+
store,
49+
name: "session",
50+
secret,
51+
resave: false,
52+
saveUninitialized: true,
53+
cookie: {
54+
httpOnly: true,
55+
expires: Date.now() + 1000 * 60 * 60 * 24 * 7,
56+
maxAge: 1000 * 60 * 60 * 24 * 7,
57+
},
5958
};
6059

6160
app.use(cors());
@@ -64,35 +63,33 @@ app.use(express.urlencoded({ extended: true }));
6463
app.use(cookieParser());
6564
app.use(session(sessionConfig));
6665
app.use(flash());
67-
app.use(methodOverride('_method'));
66+
app.use(methodOverride("_method"));
6867
app.use(helmet({ contentSecurityPolicy: false }));
69-
app.use(favicon(__dirname + '/public/img/favicon.ico'));
68+
app.use(favicon(__dirname + "/public/img/favicon.ico"));
7069

71-
app.use(express.static(__dirname + '/public'));
72-
app.set('view engine', 'ejs');
70+
app.use(express.static(__dirname + "/public"));
71+
app.set("view engine", "ejs");
7372

74-
app.get('/', (req, res) => {
75-
res.render('index');
73+
app.get("/", (req, res) => {
74+
res.render("index");
7675
});
7776

78-
const userRouter = require('./routes/user.route');
79-
app.use('/users', userRouter);
80-
81-
const garageRouter = require('./routes/garage.route');
82-
app.use('/garage', garageRouter);
77+
const userRouter = require("./routes/user.route");
78+
app.use("/users", userRouter);
8379

84-
const slotRouter = require('./routes/slot.route');
85-
app.use('/slot', slotRouter);
80+
const garageRouter = require("./routes/garage.route");
81+
app.use("/garage", garageRouter);
8682

87-
const bookingRouter = require('./routes/booking.route');
88-
app.use('/booking', bookingRouter);
83+
const slotRouter = require("./routes/slot.route");
84+
app.use("/slot", slotRouter);
8985

86+
const bookingRouter = require("./routes/booking.route");
87+
app.use("/booking", bookingRouter);
9088

91-
app.get('*', (req, res) => {
92-
res.render('not-found');
89+
app.get("*", (req, res) => {
90+
res.render("not-found");
9391
});
9492

95-
9693
app.listen(port, () =>
97-
console.log(`Parkify running at http://localhost:${port}`)
94+
console.log(`Parkify running at http://localhost:${port}`)
9895
);

cloudinary/index.js

+12-12
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
1-
const cloudinary = require('cloudinary').v2;
2-
const { CloudinaryStorage } = require('multer-storage-cloudinary');
1+
const cloudinary = require("cloudinary").v2;
2+
const { CloudinaryStorage } = require("multer-storage-cloudinary");
33

44
cloudinary.config({
5-
cloud_name: process.env.CLOUDINARY_CLOUD_NAME,
6-
api_key: process.env.CLOUDINARY_KEY,
7-
api_secret: process.env.CLOUDINARY_SECRET,
5+
cloud_name: process.env.CLOUDINARY_CLOUD_NAME,
6+
api_key: process.env.CLOUDINARY_KEY,
7+
api_secret: process.env.CLOUDINARY_SECRET,
88
});
99

1010
const storage = new CloudinaryStorage({
11-
cloudinary,
12-
params: {
13-
folder: 'Parkify',
14-
allowedFormats: ['jpeg', 'png', 'jpg'],
15-
},
11+
cloudinary,
12+
params: {
13+
folder: "Parkify",
14+
allowedFormats: ["jpeg", "png", "jpg"],
15+
},
1616
});
1717

1818
module.exports = {
19-
cloudinary,
20-
storage,
19+
cloudinary,
20+
storage,
2121
};

controllers/booking.controller.js

+76-81
Original file line numberDiff line numberDiff line change
@@ -1,89 +1,84 @@
1-
const bookingService = require('../services/booking.service');
2-
const slotService=require('../services/slot.service');
3-
const garageService=require('../services/garage.service');
1+
const bookingService = require("../services/booking.service");
2+
const slotService = require("../services/slot.service");
3+
const garageService = require("../services/garage.service");
44

5-
const renderNewBooking = async(req, res) => {
6-
var slot_id=req.params.id;
7-
var slot=await slotService.FindSlot(slot_id);
8-
if(slot===null)
9-
{
10-
req.flash('err','Slot doesnt exist');
11-
res.redirect('/garage');
12-
}
13-
else
14-
{
15-
var garage=await garageService.FindGarage(slot.garage_id);
16-
if(!garage)
17-
{
18-
req.flash('err','Garage doesnt exist for the slot.');
19-
res.redirect('/garage');
20-
}
21-
else{
22-
res.render('bookings/newbooking',{userid:req.body.user_id,slot:slot,body: req.body,garage:garage});
23-
}
5+
const renderNewBooking = async (req, res) => {
6+
var slot_id = req.params.id;
7+
var slot = await slotService.FindSlot(slot_id);
8+
if (slot === null) {
9+
req.flash("err", "Slot doesnt exist");
10+
res.redirect("/garage");
11+
} else {
12+
var garage = await garageService.FindGarage(slot.garage_id);
13+
if (!garage) {
14+
req.flash("err", "Garage doesnt exist for the slot.");
15+
res.redirect("/garage");
16+
} else {
17+
res.render("bookings/newbooking", {
18+
userid: req.body.user_id,
19+
slot: slot,
20+
body: req.body,
21+
garage: garage,
22+
});
2423
}
24+
}
2525
};
2626

27-
const newBooking=async(req,res)=>{
28-
req.body.start_time=(new Date(req.body.start_datetime).getTime())/1000;
29-
req.body.end_time=(new Date(req.body.end_datetime).getTime())/1000;
30-
req.body.amount=(await bookingService.apiMoney(req.body.slot_id))*((req.body.end_time-req.body.start_time)/60);
31-
try {
32-
const result = await bookingService.NewBooking(req.body);
33-
req.flash('success','Booking Created Successfully');
34-
res.redirect('/users/dashboard');
35-
} catch (err) {
36-
req.flash('err',err);
37-
res.redirect('/booking/new/'+req.body.slot_id);
38-
}
39-
}
27+
const newBooking = async (req, res) => {
28+
req.body.start_time = new Date(req.body.start_datetime).getTime() / 1000;
29+
req.body.end_time = new Date(req.body.end_datetime).getTime() / 1000;
30+
req.body.amount =
31+
(await bookingService.apiMoney(req.body.slot_id)) *
32+
((req.body.end_time - req.body.start_time) / 60);
33+
try {
34+
const result = await bookingService.NewBooking(req.body);
35+
req.flash("success", "Booking Created Successfully");
36+
res.redirect("/users/dashboard");
37+
} catch (err) {
38+
req.flash("err", err);
39+
res.redirect("/booking/new/" + req.body.slot_id);
40+
}
41+
};
4042

41-
const renderBooking=async(req,res)=>
42-
{
43-
var booking_id = req.params.id;
44-
const booking = await bookingService.FindBooking(booking_id);
45-
if (!booking) {
46-
req.flash('err','Booking Not Found');
47-
res.redirect('/users/dashboard');
48-
} else {
49-
res.send(booking);
50-
}
51-
}
43+
const renderBooking = async (req, res) => {
44+
var booking_id = req.params.id;
45+
const booking = await bookingService.FindBooking(booking_id);
46+
if (!booking) {
47+
req.flash("err", "Booking Not Found");
48+
res.redirect("/users/dashboard");
49+
} else {
50+
res.send(booking);
51+
}
52+
};
5253

53-
const deleteBooking=async(req,res)=>
54-
{
55-
var booking_id=req.params.id;
56-
try{
57-
await bookingService.DeleteBooking(booking_id);
58-
req.flash('success','Booking Deleted Successfully');
59-
res.redirect('/users/dashboard');
60-
}
61-
catch(err)
62-
{
63-
req.flash('err',"Error :"+err);
64-
res.redirect('/users/dashboard');
65-
}
66-
}
54+
const deleteBooking = async (req, res) => {
55+
var booking_id = req.params.id;
56+
try {
57+
await bookingService.DeleteBooking(booking_id);
58+
req.flash("success", "Booking Deleted Successfully");
59+
res.redirect("/users/dashboard");
60+
} catch (err) {
61+
req.flash("err", "Error :" + err);
62+
res.redirect("/users/dashboard");
63+
}
64+
};
6765

68-
const cancelBooking=async(req,res)=>
69-
{
70-
var id=req.params.id;
71-
try{
72-
await bookingService.cancelBooking(id);
73-
req.flash('success','Booking cancelled successfully');
74-
res.redirect('/users/dashboard');
75-
}
76-
catch(err)
77-
{
78-
req.flash('err',err);
79-
res.redirect('/users/dashboard');
80-
}
81-
}
66+
const cancelBooking = async (req, res) => {
67+
var id = req.params.id;
68+
try {
69+
await bookingService.cancelBooking(id);
70+
req.flash("success", "Booking cancelled successfully");
71+
res.redirect("/users/dashboard");
72+
} catch (err) {
73+
req.flash("err", err);
74+
res.redirect("/users/dashboard");
75+
}
76+
};
8277

83-
module.exports={
84-
renderNewBooking,
85-
newBooking,
86-
renderBooking,
87-
deleteBooking,
88-
cancelBooking
89-
};
78+
module.exports = {
79+
renderNewBooking,
80+
newBooking,
81+
renderBooking,
82+
deleteBooking,
83+
cancelBooking,
84+
};

0 commit comments

Comments
 (0)