Skip to content

E-Parking Solution is a web application which allows users to instantly reserve, pay, book, and allocate a free (up-to-date) parking slot while driving to their destinations.

Notifications You must be signed in to change notification settings

andreibuhosu/E-ParkingSolution

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

E-Parking Solution

E-Parking Solution is a web application which allows users to instantly reserve, pay, book, and allocate a free (up-to-date) parking slot while driving to their destinations.

For this project, I had a Scrum approach due to each task taking an average of 2-3 weeks to complete and used Git and Gitlab for version control.

Programming Languages:

  • Java
  • JavaScript
  • MySQL

Markup Languages:

  • HTML
  • CSS

Features:

  • Register and login
  • Three types of users
  • View parking spaces and the distance to them using the Google Maps API
  • Secure payment gateway
  • Create Car Parks and Parking Spaces
  • Google Maps API
  • View/delete/update bookings
  • Anti double-booking
  • Pagination and sortation
  • Submit a request to refund/update a booking to the parking owners
  • View the request/message sent from the driver and vice versa from the parking owner
  • View metrics for the Parking Owner
  • View metrics for the Site Administrator
  • Create parking owner accounts by the site administrators
  • Being able to disable accounts
  • And many more

Prerequisites:

  • Spring Boot Framework 2.7.4
  • MySQL Server 8.0.31
  • Maven 3.8.1

Dependencies:

  • Spring Security
  • Spring JPA
  • Spring Starter Web
  • Thymeleaf
  • JUnit testing
  • Google Maps API
  • MySQL Connector
  • etc.

Presentation

Landing Page (Slide Show) :

Screenshot 2023-05-06 at 01 00 13

Screenshot 2023-05-06 at 01 00 31

Screenshot 2023-05-06 at 01 00 41

Screenshot 2023-05-06 at 01 00 52

Screenshot 2023-05-06 at 01 00 58

Screenshot 2023-05-06 at 01 01 06

Screenshot 2023-05-06 at 01 01 11

Login Page :

Screenshot 2023-05-06 at 01 01 20

Register Page :

Screenshot 2023-05-06 at 01 01 31

  • Address (?)

Screenshot 2023-05-06 at 01 01 40

  • Terms and conditions

Screenshot 2023-05-06 at 01 01 48

Driver (normal user) :

Booking Page :

Screenshot 2023-05-06 at 01 07 47

  • Update Address

Screenshot 2023-05-06 at 01 08 07

  • Address Updated (along with the distances)

Screenshot 2023-05-06 at 01 09 25

  • Google Map with the pin points of the Car Parks (+sortation and pagination)

Screenshot 2023-05-06 at 01 07 07

  • Google Maps (driving mode directions triggered when pressed on the address)

Screenshot 2023-05-06 at 01 07 26

  • Inside of University of Leicester's Car Park

Screenshot 2023-05-06 at 01 09 44

Screenshot 2023-05-06 at 01 09 55

  • Booking a Parking Space

Screenshot 2023-05-06 at 01 10 14

  • Trying to Double Book

Screenshot 2023-05-06 at 01 10 49

  • Anti-double Booking

Screenshot 2023-05-06 at 01 10 57

  • Payment Gateway

thumbnail_Screenshot 2023-05-06 at 01 43 09

  • Cards to Pay

Screenshot 2023-05-06 at 01 12 11

  • Card not Accepted

Screenshot 2023-05-06 at 01 12 41

  • Card Accepted

Screenshot 2023-05-06 at 01 13 00

View Bookings :

Screenshot 2023-05-06 at 01 13 26

  • View Booking

Screenshot 2023-05-06 at 01 13 38

  • Contact the Parking Owner

Screenshot 2023-05-06 at 01 14 25

  • Message was Sent

Screenshot 2023-05-06 at 01 14 32

  • Inbox Driver

Screenshot 2023-05-06 at 01 14 42

Parking Owner :

Manage Car Parks :

Screenshot 2023-05-06 at 01 15 07

  • Add a new Car Park

Screenshot 2023-05-06 at 01 15 17

  • View Parking Spaces

Screenshot 2023-05-06 at 01 15 36

  • Add Parking Spaces

Screenshot 2023-05-06 at 01 16 14

Parking Owner Inbox :

Screenshot 2023-05-06 at 01 17 05

  • View Message

Screenshot 2023-05-06 at 01 17 23

  • Reply to Message

Screenshot 2023-05-06 at 01 17 46

  • Message was sent

Screenshot 2023-05-06 at 01 17 52

Parking Owner View Bookings :

thumbnail_Screenshot 2023-05-06 at 01 43 47

  • Edit Booking

Screenshot 2023-05-06 at 01 18 08

  • Booking Updated

Screenshot 2023-05-06 at 01 18 17

Parking Owner Statistics/Metrics :

Screenshot 2023-05-06 at 01 18 35

Site Administrator :

Manage Accounts :

Screenshot 2023-05-06 at 01 20 24

  • Disable Account

Screenshot 2023-05-06 at 01 20 33

  • Editing Account (Password and Role)

Screenshot 2023-05-06 at 01 21 10

  • Account Updated

Screenshot 2023-05-06 at 01 21 47

Create Accounts for Parking Owners :

Screenshot 2023-05-06 at 01 21 59

Site Administrator Statistics/Metrics :

Screenshot 2023-05-06 at 01 22 15

thanks-for-watching-with-glitch-effect-free-video

Extras :

ERD Diagram :

eeerrdd

This ERD diagram represents the entities and relationships of the E-Parking Solution database.

The "users" table holds information about the users of the system, including their unique user_id, username, address, password, and role. The role column indicates whether the user is a driver, parking owner, or site administrator. This table is necessary to support the login, registration, and messaging functionality of the system.

The "car_park" table stores data about each parking facility, such as its unique car_park_id, name, address, whether it has disabled spaces, and the user_id of the parking owner who manages it. This table is necessary to support the parking space booking functionality of the system.

The "parking_space" table records details about each parking space within a car park, such as its unique parking_space_id, address, floor level, price, and the car_park_id to which it belongs. This table is necessary to support the parking space booking functionality of the system.

The "cards" table holds information about payment cards used for transactions. It includes a unique card_id, a flag for whether payment is accepted, card number, expiration date, and security code. This table is necessary to support the payment functionality of the system.

The "transactions" table stores data about each parking transaction, including the unique transaction_id, amount charged, card number used, start and end date/time, license plate of the car parked, receipt number, transaction status, date and time of transaction, and transaction type (e.g., booking or payment). It also contains foreign keys to the user_id, parking_space_id, and card_id associated with each transaction. This table is necessary to support the payment and booking functionality of the system.

Finally, the "messages" table records communication between users of the system. It includes a unique request_id, message text, date and time sent, and a subject line. It also contains foreign keys to the sender_id and recipient_id of the message. This table is necessary to support the messaging functionality of the system. Overall, this ERD diagram shows the relationships between the different entities in the E-Parking Solution database, and how they interact with one another to facilitate parking transactions and communication between users. In conclusion, the ERD diagram has been designed to support the various functionalities of the E-Parking Solution, including registration, login, messaging, parking space booking, payment etc. Each table and field has been carefully selected and designed to support the requirements of the system.

Use Case Diagram :

Use Case Diagram

The Use Case Diagram presented above is a visual representation of how the E-Parking Solution can be used by its different types of users. The first user identified is the Driver, who is the primary user of the system. To use the E-Parking Solution, the Driver needs to first register on the platform and then log in. Once logged in, the Driver can view the available car parks and parking spaces, choose a parking space, and proceed to book it by entering details such as start and end time, license plate, etc. The Driver can then make the payment for the booking. The Driver can also view their transaction history and contact the Parking Owner for any queries related to their booking. Additionally, the Driver can access their inbox to view and reply to messages. The second user is the Parking Owner, who can also log in to the system. The Parking Owner has access to various features such as metrics/statistics for their Car Parks and Parking Spaces, and can perform CRUD operations for managing them. They can view the bookings made for their Parking Spaces and can refund or edit them if necessary. The Parking Owner can also contact the Driver for any queries related to their booking, and can access their inbox to view and reply to messages. The third user is the Site Administrator, who has overall control over the platform. The Site Administrator can view metrics/statistics for the entire system, create accounts for Parking Owners, and manage accounts across the platform. This includes disabling/enabling accounts for Parking Owners as necessary. In summary, the Use Case Diagram showcases the different types of users that the E-Parking Solution caters to and the functionalities that they can access. It highlights how the platform enables Drivers to easily book parking spaces and Parking Owners to effectively manage their Car Parks and Parking Spaces. The Site Administrator is responsible for ensuring the smooth functioning of the platform as a whole.

About

E-Parking Solution is a web application which allows users to instantly reserve, pay, book, and allocate a free (up-to-date) parking slot while driving to their destinations.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published