Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

🚗 LuxuryMotion — Car Rental System

A desktop car rental management application built with Java Swing and SQLite. Supports two separate user roles — Admin and Customer — each with their own panel and functionality.


✨ Features

👤 Customer

  • Register and log in with email/password
  • Browse available vehicles (location, make, model, year, fuel, gear, cost)
  • Select rental and return dates via date pickers
  • Automatic total cost calculation based on rental duration
  • Reserve a vehicle with one click

🛠️ Admin

  • Dedicated admin login screen
  • Add new vehicles to the fleet (location, make, model, color, year, fuel, gear, plaque, cost)
  • Delete vehicles from the fleet
  • View all active rentals (plaque, customer name, days, location, total cost)
  • Export vehicle and rental data to PDF reports (iTextPDF)

🖥️ Screens

Screen Description
oturum Welcome screen — Register, Customer Login, Admin Login
kayit Customer registration form
giris Customer login
musteriFrame Customer dashboard — browse & reserve cars
admingiris Admin login
adminFrame Admin dashboard — manage fleet & view rentals
profil User profile view

🛠️ Tech Stack

Layer Technology
UI Java Swing
Database SQLite (via JDBC)
PDF Export iTextPDF
Build Tool Apache Ant (NetBeans project)

🚀 Getting Started

Prerequisites

  • JDK 8 or higher
  • NetBeans IDE (recommended) or any Java IDE
  • SQLite JDBC driver (sqlite-jdbc-*.jar)
  • iTextPDF library (itextpdf-*.jar)

Setup

  1. Clone the repository:
git clone https://github.com/ardilsungu/Car-Rental-System
cd Car-Rental-System
  1. Open the project in NetBeans (File → Open Project → select Car_Rental_System/)

  2. Update the database path in DatabaseHelper.java and adminFrame.java:

// Change this to your local path or use a relative path
private static final String DB_URL = "jdbc:sqlite:car_rental.db";
  1. Add the required JAR files to the project libraries:

    • sqlite-jdbc.jar
    • itextpdf.jar
  2. Run JavaApplication3.java as the main class.


📁 Project Structure

Car_Rental_System/
├── src/
│   ├── javaapplication3/
│   │   ├── JavaApplication3.java   # Entry point
│   │   ├── MainFrame.java
│   │   └── PDFReportGenerator.java
│   └── panels/
│       ├── oturum.java             # Welcome / role selection screen
│       ├── giris.java              # Customer login
│       ├── kayit.java              # Customer registration
│       ├── musteriFrame.java       # Customer dashboard
│       ├── admingiris.java         # Admin login
│       ├── adminFrame.java         # Admin dashboard + PDF export
│       ├── profil.java             # User profile
│       └── DatabaseHelper.java     # SQLite connection helper
└── nbproject/                      # NetBeans project config

⚠️ Known Limitations

  • Database path is hardcoded — update DB_URL in DatabaseHelper.java before running
  • No password hashing — passwords are stored as plain text (not recommended for production)
  • Available cities are fixed: İstanbul, Ankara, İzmir

🛠️ Tech Stack

Java · Java Swing · SQLite · JDBC · iTextPDF · Apache Ant

About

a simple car rental system

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages