Inspiration

I wanted to build a convenient desktop application that solves a real-world problem: managing airline reservations efficiently. The goal was to create a system where users can login, browse available flights, book tickets, and view their reservations—all in one place.

What I Learned

Through this project, I deepened my understanding of PostgreSQL—I had some prior exposure from a second-year module, but using it for a full application taught me more about database design, relationships, and querying. I also learned JavaFX for the first time, gaining hands-on experience with creating GUIs, handling events, and binding data to UI components like TableView.

How I Built It

  • Backend: Implemented in Java with JDBC to connect to PostgreSQL for user authentication, flight storage, and reservations.
  • Frontend: Built with JavaFX, using TableView to display flight data and interactive labels/buttons for booking.
  • Key Features:
    • Flight search by origin, destination, and date.
    • Booking flights and choosing the number of adult/child tickets.
    • Viewing past reservations with detailed flight info.
    • User login and account creation.

Challenges

Setting up everything initially was tricky, especially configuring drivers and imports for PostgreSQL. Another major challenge was the logic for TableView to correctly display flight information dynamically based on database queries. Handling user interaction, passing user_id between pages, and calculating total ticket costs also required careful planning.

Overall, this project gave me hands-on experience with full-stack desktop application development and helped me understand how to integrate UI, backend logic, and database seamlessly.

Built With

Share this project:

Updates