Skip to content

Commit

Permalink
code refactored
Browse files Browse the repository at this point in the history
  • Loading branch information
Codehackerone committed May 15, 2021
1 parent 6b1e848 commit 7b1c670
Show file tree
Hide file tree
Showing 31 changed files with 1,400 additions and 1,425 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
# parkify

Parking Web Application.
109 changes: 53 additions & 56 deletions app.js
Original file line number Diff line number Diff line change
@@ -1,61 +1,60 @@
const express = require('express');
const cors = require('cors');
const mongoose = require('mongoose');
const cookieParser = require('cookie-parser');
const favicon = require('serve-favicon');
const session = require('express-session');
const MongoDBStore = require('connect-mongo')(session);
const flash = require('express-flash');
const helmet = require('helmet');
const methodOverride = require('method-override');

require('dotenv').config();
const express = require("express");
const cors = require("cors");
const mongoose = require("mongoose");
const cookieParser = require("cookie-parser");
const favicon = require("serve-favicon");
const session = require("express-session");
const MongoDBStore = require("connect-mongo")(session);
const flash = require("express-flash");
const helmet = require("helmet");
const methodOverride = require("method-override");

require("dotenv").config();

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

const uri = String(process.env.MONGO_URI);
const connectOptions = {
useNewUrlParser: true,
useCreateIndex: true,
useUnifiedTopology: true,
useFindAndModify: false,
useNewUrlParser: true,
useCreateIndex: true,
useUnifiedTopology: true,
useFindAndModify: false,
};

mongoose
.connect(uri, connectOptions)
.then()
.catch((err) => console.log('Error:' + err));
.connect(uri, connectOptions)
.then()
.catch((err) => console.log("Error:" + err));

mongoose.connection.once('open', () =>
console.log('Connected to MongoDB successfully...')
mongoose.connection.once("open", () =>
console.log("Connected to MongoDB successfully...")
);


const app = express();

const secret = process.env.SECRET;

const store = new MongoDBStore({
url: uri,
secret,
touchAfter: 24 * 60 * 60,
url: uri,
secret,
touchAfter: 24 * 60 * 60,
});

store.on('error', function (e) {
console.log('SESSION STORE ERROR', e);
store.on("error", function (e) {
console.log("SESSION STORE ERROR", e);
});

const sessionConfig = {
store,
name: 'session',
secret,
resave: false,
saveUninitialized: true,
cookie: {
httpOnly: true,
expires: Date.now() + 1000 * 60 * 60 * 24 * 7,
maxAge: 1000 * 60 * 60 * 24 * 7,
},
store,
name: "session",
secret,
resave: false,
saveUninitialized: true,
cookie: {
httpOnly: true,
expires: Date.now() + 1000 * 60 * 60 * 24 * 7,
maxAge: 1000 * 60 * 60 * 24 * 7,
},
};

app.use(cors());
Expand All @@ -64,35 +63,33 @@ app.use(express.urlencoded({ extended: true }));
app.use(cookieParser());
app.use(session(sessionConfig));
app.use(flash());
app.use(methodOverride('_method'));
app.use(methodOverride("_method"));
app.use(helmet({ contentSecurityPolicy: false }));
app.use(favicon(__dirname + '/public/img/favicon.ico'));
app.use(favicon(__dirname + "/public/img/favicon.ico"));

app.use(express.static(__dirname + '/public'));
app.set('view engine', 'ejs');
app.use(express.static(__dirname + "/public"));
app.set("view engine", "ejs");

app.get('/', (req, res) => {
res.render('index');
app.get("/", (req, res) => {
res.render("index");
});

const userRouter = require('./routes/user.route');
app.use('/users', userRouter);

const garageRouter = require('./routes/garage.route');
app.use('/garage', garageRouter);
const userRouter = require("./routes/user.route");
app.use("/users", userRouter);

const slotRouter = require('./routes/slot.route');
app.use('/slot', slotRouter);
const garageRouter = require("./routes/garage.route");
app.use("/garage", garageRouter);

const bookingRouter = require('./routes/booking.route');
app.use('/booking', bookingRouter);
const slotRouter = require("./routes/slot.route");
app.use("/slot", slotRouter);

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

app.get('*', (req, res) => {
res.render('not-found');
app.get("*", (req, res) => {
res.render("not-found");
});


app.listen(port, () =>
console.log(`Parkify running at http://localhost:${port}`)
console.log(`Parkify running at http://localhost:${port}`)
);
24 changes: 12 additions & 12 deletions cloudinary/index.js
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
const cloudinary = require('cloudinary').v2;
const { CloudinaryStorage } = require('multer-storage-cloudinary');
const cloudinary = require("cloudinary").v2;
const { CloudinaryStorage } = require("multer-storage-cloudinary");

cloudinary.config({
cloud_name: process.env.CLOUDINARY_CLOUD_NAME,
api_key: process.env.CLOUDINARY_KEY,
api_secret: process.env.CLOUDINARY_SECRET,
cloud_name: process.env.CLOUDINARY_CLOUD_NAME,
api_key: process.env.CLOUDINARY_KEY,
api_secret: process.env.CLOUDINARY_SECRET,
});

const storage = new CloudinaryStorage({
cloudinary,
params: {
folder: 'Parkify',
allowedFormats: ['jpeg', 'png', 'jpg'],
},
cloudinary,
params: {
folder: "Parkify",
allowedFormats: ["jpeg", "png", "jpg"],
},
});

module.exports = {
cloudinary,
storage,
cloudinary,
storage,
};
157 changes: 76 additions & 81 deletions controllers/booking.controller.js
Original file line number Diff line number Diff line change
@@ -1,89 +1,84 @@
const bookingService = require('../services/booking.service');
const slotService=require('../services/slot.service');
const garageService=require('../services/garage.service');
const bookingService = require("../services/booking.service");
const slotService = require("../services/slot.service");
const garageService = require("../services/garage.service");

const renderNewBooking = async(req, res) => {
var slot_id=req.params.id;
var slot=await slotService.FindSlot(slot_id);
if(slot===null)
{
req.flash('err','Slot doesnt exist');
res.redirect('/garage');
}
else
{
var garage=await garageService.FindGarage(slot.garage_id);
if(!garage)
{
req.flash('err','Garage doesnt exist for the slot.');
res.redirect('/garage');
}
else{
res.render('bookings/newbooking',{userid:req.body.user_id,slot:slot,body: req.body,garage:garage});
}
const renderNewBooking = async (req, res) => {
var slot_id = req.params.id;
var slot = await slotService.FindSlot(slot_id);
if (slot === null) {
req.flash("err", "Slot doesnt exist");
res.redirect("/garage");
} else {
var garage = await garageService.FindGarage(slot.garage_id);
if (!garage) {
req.flash("err", "Garage doesnt exist for the slot.");
res.redirect("/garage");
} else {
res.render("bookings/newbooking", {
userid: req.body.user_id,
slot: slot,
body: req.body,
garage: garage,
});
}
}
};

const newBooking=async(req,res)=>{
req.body.start_time=(new Date(req.body.start_datetime).getTime())/1000;
req.body.end_time=(new Date(req.body.end_datetime).getTime())/1000;
req.body.amount=(await bookingService.apiMoney(req.body.slot_id))*((req.body.end_time-req.body.start_time)/60);
try {
const result = await bookingService.NewBooking(req.body);
req.flash('success','Booking Created Successfully');
res.redirect('/users/dashboard');
} catch (err) {
req.flash('err',err);
res.redirect('/booking/new/'+req.body.slot_id);
}
}
const newBooking = async (req, res) => {
req.body.start_time = new Date(req.body.start_datetime).getTime() / 1000;
req.body.end_time = new Date(req.body.end_datetime).getTime() / 1000;
req.body.amount =
(await bookingService.apiMoney(req.body.slot_id)) *
((req.body.end_time - req.body.start_time) / 60);
try {
const result = await bookingService.NewBooking(req.body);
req.flash("success", "Booking Created Successfully");
res.redirect("/users/dashboard");
} catch (err) {
req.flash("err", err);
res.redirect("/booking/new/" + req.body.slot_id);
}
};

const renderBooking=async(req,res)=>
{
var booking_id = req.params.id;
const booking = await bookingService.FindBooking(booking_id);
if (!booking) {
req.flash('err','Booking Not Found');
res.redirect('/users/dashboard');
} else {
res.send(booking);
}
}
const renderBooking = async (req, res) => {
var booking_id = req.params.id;
const booking = await bookingService.FindBooking(booking_id);
if (!booking) {
req.flash("err", "Booking Not Found");
res.redirect("/users/dashboard");
} else {
res.send(booking);
}
};

const deleteBooking=async(req,res)=>
{
var booking_id=req.params.id;
try{
await bookingService.DeleteBooking(booking_id);
req.flash('success','Booking Deleted Successfully');
res.redirect('/users/dashboard');
}
catch(err)
{
req.flash('err',"Error :"+err);
res.redirect('/users/dashboard');
}
}
const deleteBooking = async (req, res) => {
var booking_id = req.params.id;
try {
await bookingService.DeleteBooking(booking_id);
req.flash("success", "Booking Deleted Successfully");
res.redirect("/users/dashboard");
} catch (err) {
req.flash("err", "Error :" + err);
res.redirect("/users/dashboard");
}
};

const cancelBooking=async(req,res)=>
{
var id=req.params.id;
try{
await bookingService.cancelBooking(id);
req.flash('success','Booking cancelled successfully');
res.redirect('/users/dashboard');
}
catch(err)
{
req.flash('err',err);
res.redirect('/users/dashboard');
}
}
const cancelBooking = async (req, res) => {
var id = req.params.id;
try {
await bookingService.cancelBooking(id);
req.flash("success", "Booking cancelled successfully");
res.redirect("/users/dashboard");
} catch (err) {
req.flash("err", err);
res.redirect("/users/dashboard");
}
};

module.exports={
renderNewBooking,
newBooking,
renderBooking,
deleteBooking,
cancelBooking
};
module.exports = {
renderNewBooking,
newBooking,
renderBooking,
deleteBooking,
cancelBooking,
};
Loading

0 comments on commit 7b1c670

Please sign in to comment.