Skip to content

πŸš– OlaLite – A Java console app that simulates real-time cab booking like Ola/Uber with login, fare, ratings & ride history.

Notifications You must be signed in to change notification settings

Shruti627/OlaLite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 

Repository files navigation

πŸš– OlaLite – Console-Based Cab Booking System

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.


πŸ’‘ Overview

  • πŸ“² 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

πŸ‘¨β€πŸ’» Core Technologies Used

  • 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)

πŸ“‚ Main Modules

1. πŸ§‘β€πŸ’Ό User Management

  • Sign up & log in with validation
  • Email/password verification
  • Role-based access: Admin / User

2. πŸš• Cab Booking

  • Choose cab type: Micro, Mini, Prime
  • Enter distance β†’ get fare, cab info & ETA
  • Confirm before booking

3. πŸ“ Favourite Locations

  • Add, remove, or view saved pickup/drop points
  • Reuse saved locations for faster booking

4. πŸ“Ά Cab Availability Simulation

  • Simulate availability with random logic
  • ETA displayed per cab type
  • Block booking if no cabs are available

5. 🧾 Ride History & Ratings

  • View complete ride history
  • Rate rides (1.0 – 5.0 stars)
  • Optional feedback storage

6. ❗ Exception Handling

  • Input validation
  • Custom exceptions like BookingException for clean error management

πŸ” OOP Design Highlights

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

🌟 Extra Features

  • ♻️ 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

πŸš€ How to Run

  1. Clone the repository or download the ZIP
  2. Open in Eclipse or any Java IDE
  3. Run the entry file: Main.java
  4. Follow the interactive menu from the console

πŸ‘©β€πŸŽ“ Author

Shruti Parikshit Sangvikar
πŸŽ“ 3rd Year Engineering Student


πŸ“œ License

This project is open for educational and non-commercial use.


About

πŸš– OlaLite – A Java console app that simulates real-time cab booking like Ola/Uber with login, fare, ratings & ride history.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages