An open API service indexing awesome lists of open source software.

https://github.com/hamada-khairi/oddj-hamada

A Java-based car rental management system featuring a cyberpunk-themed interface that enables vehicle booking, user management, and administrative controls.
https://github.com/hamada-khairi/oddj-hamada

admin-dashboard apu booking-status booking-system car-rental-app crud-application customer-portal cyberpunk-2077-features cyberpunk-edgerunners cyberpunks java-application java-gui-application java-oop netbeans-ide user-authentication user-management-system

Last synced: 3 months ago
JSON representation

A Java-based car rental management system featuring a cyberpunk-themed interface that enables vehicle booking, user management, and administrative controls.

Awesome Lists containing this project

README

        

# 🚗 Cyberpunk Car Rental System

![image](https://github.com/user-attachments/assets/ded3b020-0b7c-4b5b-b59a-8fa91906d9af)

## 📖 Table of Contents
- [Overview](#overview)
- [Features](#features)
- [Setup](#setup)
- [Usage](#usage)
- [Screenshots](#screenshots)
- [Contributing](#contributing)
- [License](#license)

## 🌐 Overview

Welcome to the Cyberpunk Car Rental System, a futuristic Java-based application designed to streamline the process of renting vehicles in a neon-lit, high-tech world. This system caters to both administrators and customers, providing a seamless experience for managing and booking cutting-edge vehicles.

## 🚀 Features

### 🔐 Authentication
- Secure login system for both administrators and customers
- Password encryption for enhanced security
- Secret "CYBERPUNK" login with easter egg music player

### 👤 User Management
- Two user types: Admin and Customer
- Profile management for customers
- Password and username change functionality

### 🚙 Vehicle Management
- Add, view, and delete vehicles from the system
- Comprehensive vehicle details including:
- Virtual ID
- Vehicle type
- Vehicle number
- Brand
- Model
- Build date
- Engine type
- Power
- Rental price

### 📅 Booking System
- Real-time availability checking
- Date selection with integrated calendar
- Option for booking with or without a driver
- Automated booking status updates

### 💼 Admin Features
- Add new user accounts (both admin and customer)
- Manage bookings (approve or decline)
- Generate comprehensive reports
- View all transactions in the system

### 👥 Customer Features
- View personal profile information
- Book vehicles
- Check booking status
- View rental history

### 🎨 Cyberpunk UI
- Neon-inspired color scheme
- Futuristic interface design
- Responsive layout for various screen sizes

### 🔄 Data Persistence
- All data stored in text files for easy management
- Real-time updates across the system

## 🛠 Setup

### Prerequisites
- Java Development Kit (JDK) 8 or higher
- NetBeans IDE 8.2 or higher

### Installation Steps

1. Clone the repository:
```
git clone https://github.com/Hamada-khairi/ODDJ-Hamada.git
```

2. Open NetBeans IDE

3. Go to `File` > `Open Project` and select the cloned project directory

4. Once the project is opened, right-click on the project in the Project Explorer and select `Properties`

5. In the Properties window, go to `Libraries` and ensure all required libraries are present. If not, add the following:
- `jcalendar-1.4.jar` (for date picker functionality)
- Any additional libraries used in the project

6. Clean and build the project by right-clicking on the project and selecting `Clean and Build`

7. Run the project by right-clicking and selecting `Run` or by pressing F6

### Troubleshooting
- If you encounter any `ClassNotFoundException`, ensure all required libraries are properly added to the project's classpath
- For any issues with the jCalendar library, refer to this [video tutorial](https://www.youtube.com/watch?v=robcQaF-jfM) for installation guidance

## 🖥 Usage

### Admin Login
1. Launch the application
2. Enter admin credentials
3. Access admin dashboard to manage vehicles, bookings, and user accounts

### Customer Login
1. Launch the application
2. Enter customer credentials or register a new account
3. Browse available vehicles, make bookings, and manage your profile

### Easter Egg
Enter "CYBERPUNK" as both username and password to access a hidden music player feature!

## 📸 Screenshots

### LOGIN PAGE

### ADMIN MENU PAGE
![image](https://github.com/user-attachments/assets/b91df06a-54ae-4a19-99f1-d7a7b49624a1)

### ADMIN CAR DATA MANGMENT PAGE
![image](https://github.com/user-attachments/assets/218fec48-3449-4486-b0f3-3a38bffaed73)

### ADMIN ADD ACCOUNTS PAGE OR REGISTER
![image](https://github.com/user-attachments/assets/299cdfee-8765-42f7-a167-04fa358465b0)

### MANAGE BOOKING AND PAYMENT PAGE
![image](https://github.com/user-attachments/assets/bd7d8de6-83a2-45ae-a720-9658b7072b07)

### ADMIN REPORT PAGE
![image](https://github.com/user-attachments/assets/47b2ceb1-7f51-4477-8bff-7dd66e616acc)

### CUSTOMER USER
![image](https://github.com/user-attachments/assets/35fd8d5c-ca70-4516-b103-81de6bc10b4c)

### CUSTOMER BOOK APPOIMENT PAGE
![image](https://github.com/user-attachments/assets/d503b9c0-3a02-4f1f-87d2-f41d14172008)

### CUSTOMER PROFILE PAGE
![image](https://github.com/user-attachments/assets/2555cafe-0523-4fed-9aba-9ed248fb8a1b)

### CUSTOMER CHANGE PASSWORD AND USERNAME PAGE
![image](https://github.com/user-attachments/assets/01e5c9a4-960b-4fd9-8b70-2d9d5546ac42)

### CUSTOMER BOOKING STATUS PAGE
![image](https://github.com/user-attachments/assets/8c82f7fd-a921-4e80-864d-35daf9330f05)

### SECRET
![image](https://github.com/user-attachments/assets/d5520241-2bc4-47be-9c1a-37a8698e9b2e)

It is a page with no specific purpose other than to display a song from the cartoon series that is inspired by the program's theme you can access it by typing CYBERPUNK in username and CYBERPUNK in password.

## 🤝 Contributing

We welcome contributions to the Cyberpunk Car Rental System! Please follow these steps to contribute:

1. Fork the repository
2. Create a new 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

## 📄 License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

---

Developed with ❤️ by [MOHAMED KHAIRY/ABDELRAHMAN MOURAD]