A feature-rich, menu-driven Java console application that simulates an Ola/Uber-like cab booking experience.
Users can register, log in, book rides, manage favourite locations, and view ride history β all via a clean, Unicode-enhanced console UI.
- π² User-friendly console UI with a realistic booking simulation
- π Secure login with role-based access (Admin / User)
- βοΈ Realistic logic: cab availability, ETA, fare calculation, and ride ratings
- π» Built using Core Java with OOP, collections, and exception handling
- Java Core (OOP Principles, Collections Framework, Exception Handling)
- Console UI with Unicode icons & formatted text output
- Modular Method-Driven Architecture
- Simulated Real-World Logic (like ETA, cab type logic, fare, ratings)
- Sign up & log in with validation
- Email/password verification
- Role-based access: Admin / User
- Choose cab type: Micro, Mini, Prime
- Enter distance β get fare, cab info & ETA
- Confirm before booking
- Add, remove, or view saved pickup/drop points
- Reuse saved locations for faster booking
- Simulate availability with random logic
- ETA displayed per cab type
- Block booking if no cabs are available
- View complete ride history
- Rate rides (1.0 β 5.0 stars)
- Optional feedback storage
- Input validation
- Custom exceptions like
BookingException
for clean error management
Class | Description |
---|---|
User |
Stores user credentials and favourite locations |
Ride |
Holds ride details: fare, cab type, distance, rating, etc. |
BookingService |
Main logic for cab booking, ETA, fare, and availability |
UserService |
Manages registration, login, and user-specific data |
- β»οΈ Reuse favourite locations easily
- β Post-ride star rating system
- π² Randomized real-time cab availability
- β± ETA displayed per cab type
- β¨ Well-formatted output for great user experience
- Clone the repository or download the ZIP
- Open in Eclipse or any Java IDE
- Run the entry file:
Main.java
- Follow the interactive menu from the console
Shruti Parikshit Sangvikar
π 3rd Year Engineering Student
This project is open for educational and non-commercial use.