https://github.com/souvikdas040/smart-ride-booking-system
A Core Java ride-booking app showcasing OOP in action — book rides, calculate fares, track history, and manage revenue seamlessly.
https://github.com/souvikdas040/smart-ride-booking-system
corejava java17 oop-principles
Last synced: 1 day ago
JSON representation
A Core Java ride-booking app showcasing OOP in action — book rides, calculate fares, track history, and manage revenue seamlessly.
- Host: GitHub
- URL: https://github.com/souvikdas040/smart-ride-booking-system
- Owner: Souvikdas040
- Created: 2026-07-09T15:52:57.000Z (17 days ago)
- Default Branch: main
- Last Pushed: 2026-07-09T15:55:35.000Z (17 days ago)
- Last Synced: 2026-07-09T17:25:12.038Z (17 days ago)
- Topics: corejava, java17, oop-principles
- Language: Java
- Homepage:
- Size: 11.7 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🚖 Smart Ride Booking System
A **console-based Core Java application** that simulates a ride-booking platform. The project demonstrates Object-Oriented Programming (OOP) principles by allowing users to book different ride types, calculate fares dynamically, generate unique ride IDs, manage ride history, and search bookings.
This project was developed to strengthen Core Java concepts such as abstraction, inheritance, polymorphism, collections, exception handling, and modular class design.
---
## 📌 Features
- 🚗 Book **Mini Ride** and **Luxury Ride**
- 🆔 Automatic Ride ID generation
- 💰 Dynamic fare calculation
- 🎁 Discount calculation based on ride conditions
- 📚 Store ride history using `ArrayList`
- 🔍 Search ride using Ride ID
- 📊 Calculate total revenue
- ⚠️ Exception handling for invalid inputs
- 🖥️ Menu-driven console application
---
## 🛠️ Technologies Used
- Java
- Object-Oriented Programming (OOP)
- Java Collections Framework
- Exception Handling
- Scanner Class
---
## 📚 Java Concepts Demonstrated
- Abstraction
- Encapsulation
- Inheritance
- Polymorphism
- Method Overriding
- Constructors
- Static Variables
- Dynamic Method Dispatch
- Collections (`ArrayList`)
- Exception Handling
- Loops & Conditional Statements
---
## 📂 Project Structure
```
SmartRideBookingSystem
│
├── src
│ └── smartride
│ ├── Ride.java
│ ├── MiniRide.java
│ ├── LuxuryRide.java
│ ├── RideManager.java
│ └── SmartRideBookingSystem.java
│
└── README.md
```
---
## 🚗 Ride Types
### 🚕 Mini Ride
- ₹12 per kilometer
- ₹80 discount for rides exceeding **20 km**
### 🚘 Luxury Ride
- ₹20 per kilometer
- ₹200 Luxury Comfort Charge
- ₹150 discount if total fare is **₹800 or above**
---
## 📷 Sample Output
```text
========= SMART RIDE BOOKING =========
1. Book Mini Ride
2. Book Luxury Ride
3. View All Rides
4. Search Ride
5. Total Revenue
6. Exit
Enter choice : 1
Customer Name : Souvik
Pickup Location : Asansol
Distance (km): 25
Ride booked successfully!
Ride ID : R1001
Final Fare : ₹220.0
```
---
## 📊 View Ride History
```text
-------------------------------------
Ride ID : R1001
Customer : Souvik
Ride Type : Mini Ride
Pickup : Asansol
Distance : 25.0 km
Fare : ₹220.0
-------------------------------------
-------------------------------------
Ride ID : R1002
Customer : Rahul
Ride Type : Luxury Ride
Pickup : Kolkata
Distance : 35.0 km
Fare : ₹750.0
-------------------------------------
```
---
## 📈 Revenue Summary
```text
Total Bookings : 2
Total Revenue : ₹970.0
```
---
## ⚙️ How to Run
### 1️⃣ Clone the Repository
```bash
git clone https://github.com/your-username/SmartRideBookingSystem.git
```
### 2️⃣ Open the Project
Open the project in:
- Eclipse IDE
- IntelliJ IDEA
- VS Code
### 3️⃣ Compile and Run
Run:
```text
SmartRideBookingSystem.java
```
---
## 🎯 Learning Outcomes
This project helped in understanding:
- Object-Oriented Programming in Java
- Abstract Classes
- Method Overriding
- Java Collections Framework
- Exception Handling
- Menu-driven Console Applications
- Modular Class Design
- Business Logic Implementation
---
## 🚀 Future Enhancements
- Driver Management System
- Customer Login & Registration
- Ride Cancellation
- Multiple Pickup & Drop Locations
- Payment Gateway Simulation
- Ride Status Tracking
- File Handling for Persistent Storage
- MySQL Database Integration using JDBC
- Admin Dashboard
- GUI using Java Swing or JavaFX
---
## 💡 Project Workflow
```text
Start
│
▼
Display Main Menu
│
▼
Book Ride
│
▼
Enter Customer Details
│
▼
Validate Input
│
▼
Generate Ride ID
│
▼
Calculate Fare
│
▼
Store Ride in ArrayList
│
▼
Display Ride Details
│
▼
Search / View History / Revenue
│
▼
Exit
```
---
## 📝 Resume Highlights
This project demonstrates practical implementation of:
- Core Java Programming
- Object-Oriented Programming (OOP)
- Collections Framework
- Exception Handling
- Console-based Application Development
- Software Design Principles
- Business Logic Implementation
---
## 👨💻 Author
**Souvik Das**
- 🔗 GitHub: https://github.com/Souvikdas040
- 💼 LinkedIn: https://www.linkedin.com/in/souvikdas040
---
⭐ If you found this project useful, consider giving it a **Star** on GitHub!