Inspiration
The inspiration for the Flight Booking System name from the need for a simple, user-friendly, and efficient way to book flights. Many existing systems are either too complex or lack intuitive interfaces, so we aimed to create a streamlined booking experience with real-time pricing.
What it does
The Flight Booking System allows users to:
- Select departure and destination locations.
- Choose between Economy and Business Class.
- Opt for additional meal services.
- Calculate real-time ticket prices based on flight distance and selected options.
- Handle invalid inputs with proper error messages to prevent incorrect bookings.
How we built it
- Java (Swing): Used for building the GUI-based booking interface.
- OpenWeatherMap API: Fetches location coordinates for distance calculation.
- Haversine Formula: Computes the distance between two locations.
- JSON Parsing (org.json library): Processes API responses to extract location data.
- OOP Principles: Ensures clean and modular code structure.
Challenges we ran into
- API Handling: Managing API response errors and invalid locations.
- GUI Design: Creating an intuitive yet functional interface.
- Dynamic Pricing: Implementing a reliable price calculation model.
- Dependency Management: Integrating external libraries while keeping the project structured.
Accomplishments that we're proud of
- Successfully integrating an API for real-time distance calculations.
- Developing a smooth and interactive GUI with Java Swing.
- Creating a modular and scalable codebase for future enhancements.
What we learned
- Efficient API integration and JSON data handling.
- Advanced Java Swing techniques for GUI development.
- Applying mathematical formulas (Haversine) for real-world applications.
What's next for Flight Booking System
- Implement a database to store booking history and user details.
- Integrate real-time flight schedules from airline APIs.
- Enhance the GUI with modern UI elements.
- Add payment gateway integration for online ticket purchases.
Log in or sign up for Devpost to join the conversation.