A console-based flight booking system built using Java that simulates real-world airline reservation workflows including:
- 👤 User authentication
- 🔍 Flight search
- 🧍 Passenger management
- 💺 Seat reservation system
- 🔐 User Registration & Login
- 🔍 Search Flights (Source → Destination)
- 🧍 Passenger Details Management
- 💺 Seat Availability & Reservation
- 📅 Date Validation (DOB with Leap Year Support)
⚠️ Input Validation & Error Handling
- Register/Login
- Search for available flights
- Add passenger details
- View seat layout
- Reserve a seat
📁 Flight-Reservation-System
│── ReservationSystem.java # Main system (entry point)
│── Passenger class # Passenger details
│── Flight class # Flight data model
│── FlightRepository # Flight database
│── User class # Authentication system
│── ReservationSystemBase # Seat handling logic
- ☕ Java (Core Java, OOP)
- 📦 ArrayList (Dynamic Storage)
- 🎯 Exception Handling
- 🧵 2D Arrays (Seat Matrix)
- Rows:
1 → N - Columns:
A → F [ ]→ Available[X]→ Reserved
javac ReservationSystem.javajava ReservationSystem*** Flight Reservation System ***
1. Register
2. Search for Flights
3. Login
4. Make Reservations
5. Passenger Details
6. Exit
Enter source: Pune
Enter destination: Ahmedabad
Found Flights:
Flight Number: FL007
Departure: 2024-03-04 14:00
- ❌ Duplicate usernames not allowed
- ❌ Invalid seat selection prevented
- ❌ Must login before booking
- ❌ Passenger details required before reservation
- ❌ Date validation with leap year logic
- ❌ Input mismatch handling (Scanner exceptions)
- 🌐 GUI (JavaFX / Swing / Web App)
- 💳 Payment Integration
- 🗂️ Database (MySQL / MongoDB)
- 🔐 Password hashing (Security upgrade)
- 🎟️ Ticket generation (PDF)
- 📱 REST API backend (Spring Boot)
- 🤖 AI-based seat recommendation
- Invalid input (letters instead of numbers)
- Already reserved seats
- Wrong login credentials
- Invalid date formats
- Object-Oriented Programming (OOP)
- Real-world system design
- Data structures (ArrayList, 2D arrays)
- Exception handling
- CLI application design
PoojaCodesX
If you like this project:
- ⭐ Star this repo
- 🍴 Fork it
- 📢 Share it
This project is licensed under the MIT License