Git Product home page Git Product logo

car_rental_project's Introduction

LinkedIn


Car Rental Booking and Management System

A comprehensive system for managing car rentals, bookings, clients, and insurance options.



Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

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, providing a robust and scalable solution.

find Vehicle Page

Manage Vehicle Page

Payment Page

Key Features:

  • User Interface (UI) Applications: Modern UI with JavaFX, enhanced with CSS for styling and FXML for layout.
  • MYSQL Database: Store and retrieve data reliably with support for transactions.
  • Management: Add, update, delete vehicle, client, reservation information.
  • Signup/Login mechansim: Validates users with their credentials
  • Thread Safety: Synchronized methods, ExecutorService, Transaction management, Scheduled tasks.
  • OOP principles, MVC, DAO, Strategy.
  • Built With

    Getting Started

    To get a local copy up and running, follow these simple steps.

    Prerequisites

    You will need the following software installed:

    Installation

    1. Clone the repo using Terminal/Command Prompt:

      git clone https://github.com/shyke0611/Car_Rental_Project.git
    2. Navigate to the project directory:

      cd Car_Rental_Project
    3. Install Maven dependencies:

      mvn clean install
    4. Run the application:

      mvn clean javafx:run

    Usage

    Entity-Relation Diagram of How Project was Planned: Manage Vehicle Page

    Quick Demo of Project Using Custom Runtime

    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

    Roadmap

    • 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

    Reflection

    Context and Motivation

    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.

    Project Goals

    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.

    Challenges and Learning 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.

    Contact

    Email - [email protected]

    Project Link - https://github.com/shyke0611/Car_Rental_Project.git

    Acknowledgments

    car_rental_project's People

    Contributors

    shyke0611 avatar

    Stargazers

     avatar

    Watchers

     avatar

    Recommend Projects

    • React photo React

      A declarative, efficient, and flexible JavaScript library for building user interfaces.

    • Vue.js photo Vue.js

      ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

    • Typescript photo Typescript

      TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

    • TensorFlow photo TensorFlow

      An Open Source Machine Learning Framework for Everyone

    • Django photo Django

      The Web framework for perfectionists with deadlines.

    • D3 photo D3

      Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

    Recommend Topics

    • javascript

      JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

    • web

      Some thing interesting about web. New door for the world.

    • server

      A server is a program made to process requests and deliver data to clients.

    • Machine learning

      Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

    • Game

      Some thing interesting about game, make everyone happy.

    Recommend Org

    • Facebook photo Facebook

      We are working to build community through open source technology. NB: members must have two-factor auth.

    • Microsoft photo Microsoft

      Open source projects and samples from Microsoft.

    • Google photo Google

      Google โค๏ธ Open Source for everyone.

    • D3 photo D3

      Data-Driven Documents codes.