Personal Project on the booking and management of vehicles using Java and MySql database.
Table of Contents
The Car Rental Booking and Management System is a comprehensive application designed to streamline the management of car rentals, bookings, clients, and insurance options. This system is built using JavaFX and CSS for the user interface, Scene Builder for the frontend, and MySQL for the database backend.
Client_Side_Booking.mp4
Admin_Side_Management.mp4
To get a local copy up and running, follow these simple steps.
You will need the following software installed:
-
Clone the repo using Terminal/Command Prompt:
git clone https://github.com/shyke0611/Car_Rental_Project.git
-
Navigate to the project directory:
cd Car_Rental_Project
-
Install Maven dependencies:
mvn clean install
-
Run the application:
mvn clean javafx:run
Entity-Relation Diagram of How Project was Planned:
Clone the project repository, move to the project directory, and then run the code below:
For Mac Users:
./custom-runtime-macos/bin/java -jar target/car_rental_book_and_manage-1.0.jar
For Windows Users:
custom-runtime-windows/bin/java -jar target/car_rental_book_and_manage-1.0.jar
Note: When using this application, you can use fake phone numbers, license number, etc
- Implement features for the rental management section
- Implement features for the rental booking section
- Apply user experience
- Integrate additional payment methods
- Expand to client-web server
This Car Rental Booking and Management System was a month long personal project aimed at refining my Java skills. I undertook this project to deepen my understanding of software development using java and user experience (UX) design principles. It provided an excellent opportunity to expand my knowledge in both technical and UX aspects.
The goal was to build a comprehensive system for managing car rentals, bookings, clients, and insurance options. I aimed to create a robust application using JavaFX for the user interface and MySQL for the database backend, ensuring a seamless and user-friendly experience.
A major challenge was ensuring thread safety and preventing race conditions, requiring extensive research into synchronization mechanisms for managing concurrent operations. Addressing these issues enhanced my understanding of Java concurrency and improved my problem-solving skills.