Coder Social home page Coder Social logo

yuenci / java-car-rental-system Goto Github PK

View Code? Open in Web Editor NEW
43.0 2.0 3.0 194.76 MB

An awesome Car Rental System build with Java!

License: GNU General Public License v3.0

Java 55.28% CSS 7.39% HTML 30.66% Batchfile 0.04% Python 0.24% JavaScript 6.39%
java javafx

java-car-rental-system's Introduction

Java_Car_Rental_System


Logo

Car Rental System

An awesome Car Rental System build with Java!
Explore the tutorial doc »

Dev doc · Report Bug · Request Feature

About The Project

product-screenshot

Welcome to our rental car system!

This project was developed as part of the Object Oriented Development with Java module, using Java as the programming language and TXT files as the data storage. Our goal was to create a modern, user-friendly, and highly scalable Java FX project. To achieve this, we spent over 300 hours and two months of development to create a product that we are proud of.

To make our UI as visually appealing as possible, we used Figma for extensive design work (check here), resulting in a sleek and user-friendly interface. We hope you enjoy using our rental car system as much as we enjoyed creating it!

To ensure the scalability of our program, we implemented a modular design that separates the interface, events, tools, and business logic. We also abstracted and encapsulated various features to further improve our program's structure.

For the data layer, we used TXT files as our storage medium, which greatly affects the performance of our program. However, in order to be able to upgrade to a database storage solution in the future, we created a SQL library that allows us to use SQL to operate on TXT files. This not only made development more convenient for us, but it also means that when we do decide to migrate to a database, we can do so without having to rewrite our entire program.

In addition to these core features, we have also included a number of fun and modern touches, such as email verification, slider verification, internet connectivity detection, music playback, and a map component. We hope you enjoy using our rental car system as much as we enjoyed creating it!

During the development of this project, we received a lot of help and support from our friends, for which we are extremely grateful. We would also like to express our special thanks to the team at jxbrowser for extending our trial period twice to support our project.

We hope you enjoy using our rental car system. If you do, please consider giving us a star to show your support.

Thank you for support our project!

(back to top)

Demo Video

Customer

Java_Car_Rental_System_Customer

Driver

Java_Car_Rental_System_Driver

Admin

Java_Car_Rental_System_Admin

(back to top)

Built With

JavaLogo JavaFXLogo JavaFXLogo jxBrowerLogo GoogleMapLogo JavaLogo

(back to top)

Getting Started

Welcome to our project! Before you can get started, you will need to make sure that you have a device that is capable of running Java. If you do not already have Java installed on your device, you can download it from the official Java website.

In addition to having Java installed, you will also need to obtain any necessary API or license keys for the third-party services that our project relies on. These keys will likely be required in order to access certain features or functionality within the project. If you are unsure of which keys you need or how to obtain them, please consult the documentation for the specific service or reach out to the service provider for assistance.

Once you have Java installed and have obtained the necessary keys, you are ready to launch the project. Follow the instructions in the documentation to get up and running. We hope you enjoy using our project!

Prerequisites

  1. You need to install the Java environment first, download Java JDK18 here: https://www.oracle.com/java/technologies/javase/jdk18-archive-downloads.html.
  2. Get your SMTP email address, password and SMTP server address.
  3. Get JxBrowser license key here: https://www.teamdev.com/jxbrowser#evaluate
  4. Get Google Map API key here: https://developers.google.com/maps/documentation/javascript/get-api-key
  5. Get remove.bg API key here: https://www.remove.bg/zh/tools-api

After you get all the keys, you need to modify the following files: src/main/java/com/example/car_rental_sys/ConfigFile.java

// Email service
public static final String myEmailAccount = "email address";
public static final String myEmailPassword = "email password";
public static final String myEmailSMTPHost = "email SMTP server address";

// jxBrowserLicense key
public static final String jxBrowserLicense = "your jxBrowserLicense key";

// Google Map API key
public static final String googleMapAPIKey = "your google map API key";

// remove.bg API key
public static final String removebgKey = "your remove.bg API key";

Installation

  1. Make sure you have Git installed on your device. If you don't have it, you can download it from the official Git website (https://git-scm.com/).

  2. Open a terminal or command prompt and navigate to the directory where you want to clone the repository.

  3. Use the git clone command to clone the repository. The repository URL can be found on the GitHub page for the project.

git clone https://github.com/yuenci/Java-Car-Rental-System
  1. Open the project in your IDE and run the Application.main method in the Application.java file.

(back to top)

UI design

Customer UI

Main Page
About Us
Contact Us
Register
View Car
Car Details
Comments
Payment
Place Order Animation
Order Placed
Wallet
Add New Payment Card
Order History
Track Order
Invoice
Giving Feedback
Settings

Admin UI

Dashboard
Analysis
Message
Manage Vehicle
Add New Vehicle
Edit Car's Details

Driver UI

Workplace
Driving Mode

(back to top)

Usage

(back to top)

Roadmap

  • Change the database from TXT to MySQL
  • Add more features to the system

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contributing

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

Authors

profile image profile image

(back to top)

Contact

Innis - [email protected] - https://www.enjoycoding.me/

Kai Kiat - [email protected] - https://github.com/Kaikiat1126

(back to top)

License

Distributed under the GPL License. See LICENSE for more information.

(back to top)

Acknowledgments

We would like to extend our heartfelt thanks to Mr. Amardeep and Mr. Naushath, our teacher and mentor, who has supported us throughout the creation of this project. Without their guidance and support, we would not have been able to develop the skills and knowledge necessary to complete this project.

Mr. Amardeep and Mr. Naushath has been an invaluable resource, and we are deeply grateful for the impact that they have had on our learning and development. Thank you so much for everything!

(back to top)

java-car-rental-system's People

Contributors

kaikiat1126 avatar yuenci avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

java-car-rental-system's Issues

Your openAI secret key is published

Hi,

Just a fair warning that you've published your API key:

openai.api_key ="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"

If you have a a paying account on openAI's api and this key is still valid, it may be used to access the api while billing you. You should probably deactivate this key in openAI's dashboard and remove it from your code, using instead an environment variable or similar.

Exposed API Key

openai.api_key ="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"

Howdy,

Do not expose your API key in your source code.

Instead, consider storing it an environment variable, or using a key management service, or even software such as Vault.
Then be sure to rotate your API key after it is safely stored, or else it may still be recoverable in your commit history.

Also, see Openai's best practices page for api keys for more details:
https://help.openai.com/en/articles/5112595-best-practices-for-api-key-safety

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.