Skip to content

rohan26ir/Car-Rental-System-Advanced-Enterprise-Java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš— Car Rental Management System

A Java-based Car Rental Management System that allows customers to browse and book cars while providing administrators with powerful tools to manage vehicles, bookings, and users. The application features a user-friendly Swing GUI, MySQL database integration, and role-based authentication.


πŸ“– Overview

The Car Rental Management System simplifies the process of renting and managing vehicles. Customers can create accounts, browse available cars, make bookings, and manage reservations. Administrators can oversee the entire system through a dedicated dashboard.


✨ Features

πŸ‘€ Customer Features

  • User Registration & Login
  • Browse Available Cars
  • View Car Details
  • Book Cars with Rental Dates
  • Automatic Rental Cost Calculation
  • View Booking History
  • Cancel Existing Bookings
  • Manage Personal Profile

πŸ” Administrator Features

  • Secure Admin Login
  • Admin Dashboard
  • Add New Cars
  • Update Car Information
  • Delete Cars
  • View All Bookings
  • Update Booking Status
  • Manage User Accounts
  • Generate Reports & Statistics
  • Filter Bookings by Status

βš™οΈ System Features

  • Role-Based Authentication (Admin & Customer)
  • MySQL Database Integration
  • JDBC Connectivity
  • Secure Password Handling
  • Real-Time Data Updates
  • User-Friendly Swing GUI
  • Modular and Maintainable Code Structure

πŸ› οΈ Technologies Used

Technology Purpose
Java (JDK 11+) Core Programming Language
Swing Graphical User Interface
JDBC Database Connectivity
MySQL Database Management
XAMPP Local Development Environment

πŸ’» System Requirements

Minimum Requirements

  • Operating System: Windows 10/11, macOS, or Linux
  • RAM: 4 GB (8 GB Recommended)
  • Storage: 500 MB Free Space
  • Java JDK: Version 11 or Higher
  • MySQL: Version 8.0 or Higher

Recommended Tools

  • IntelliJ IDEA
  • Eclipse
  • VS Code with Java Extensions

πŸ“ Project Structure

Car-Rental-System/
β”‚
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ main/
β”‚   β”œβ”€β”€ models/
β”‚   β”œβ”€β”€ services/
β”‚   β”œβ”€β”€ database/
β”‚   └── ui/
β”‚
β”œβ”€β”€ bin/
β”‚
β”œβ”€β”€ lib/
β”‚   └── mysql-connector-java-8.0.33.jar
β”‚
β”œβ”€β”€ database/
β”‚   └── car_rental.sql
β”‚
└── README.md

⚑ Installation Guide

1. Install Java JDK

Download and install Java JDK 11 or higher:

Verify installation:

java --version
javac --version

2. Install MySQL

Choose one of the following:

Option A: XAMPP (Recommended)

  1. Download XAMPP
  2. Start Apache and MySQL
  3. Open phpMyAdmin

Download: https://www.apachefriends.org/

Option B: MySQL Workbench

Download: https://dev.mysql.com/downloads/workbench/


πŸ—„οΈ Database Setup

Create Database

CREATE DATABASE car_rental_system;

Import Database

  1. Open phpMyAdmin or MySQL Workbench
  2. Create the database
  3. Import the provided SQL file

Update Database Configuration

Modify your database connection settings:

String url = "jdbc:mysql://localhost:3306/car_rental_system";
String username = "root";
String password = "";

▢️ Running the Application

Compile the Project

javac -d bin src/**/*.java

Run the Application

Windows

java -cp "bin;lib\mysql-connector-java-8.0.33.jar" main.Main

Linux / macOS

java -cp "bin:lib/mysql-connector-java-8.0.33.jar" main.Main

πŸ”‘ Default Login Credentials

Administrator Account

Username Password
admin admin123

Customer Account

Username Password
john_doe john123

πŸ“š Usage Guide

Customer Workflow

  1. Register a new account or login.
  2. Browse available cars.
  3. Select a vehicle.
  4. Choose rental dates.
  5. Confirm booking.
  6. View booking history.
  7. Cancel bookings if necessary.

Admin Workflow

  1. Login as Administrator.
  2. Access the Dashboard.
  3. Manage vehicles.
  4. View and manage bookings.
  5. Manage users.
  6. Generate reports and monitor system activity.

πŸŽ₯ Project Demonstration

Project Video:

https://drive.google.com/drive/folders/1jOLPBdL-NDSlbEiPSF4JgYLIZViaJjIg?usp=sharing


🐞 Troubleshooting

MySQL Connection Error

  • Ensure MySQL server is running.
  • Verify database credentials.
  • Confirm database exists.

JDBC Driver Not Found

Make sure the MySQL connector is inside the lib folder:

mysql-connector-java-8.0.33.jar

Application Won't Start

Check Java installation:

java --version

πŸš€ Future Enhancements

  • Online Payment Integration
  • Email Notifications
  • Vehicle Image Upload
  • PDF Invoice Generation
  • Advanced Analytics Dashboard
  • Mobile Application Version
  • Multi-Language Support
  • REST API Integration

⭐ If you found this project helpful, consider giving it a star!

About

A Java-based Car Rental Management System that allows customers to browse and book cars while providing administrators with powerful tools to manage vehicles, bookings, and users.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages