The Flight Reservation System is a desktop application developed by Abdelrahman Adel, Abdelrahman Atef and Yassin Tarek, as part of a database course project. We have enhanced the project by applying design patterns, such as the Template Design Pattern and Singleton, and incorporating object-oriented programming concepts like inheritance and polymorphism. The code has been written with a focus on cleanliness and readability.
The Flight Reservation System allows customers to make flight reservations and manage their personal information, while administrators have access to additional functionalities for managing flights, aircraft, and reservations. The system is connected to a SQL database hosted on Google Cloud, which requires users to contact the owner to obtain access with their IP address.
- Update Personal Information: Customers can modify their first name, last name, password, and phone number.
- View Flights: Customers can browse and view available flights.
- Book Flights: Customers can reserve up to 7 tickets for a flight.
- Seat Selection: Customers can choose their preferred seats from three ranks: A, B, or C.
- View Reservations: Customers can view their existing flight reservations, but they cannot edit them.
- Add New Flight: Administrators can add new flights to the system.
- Add New Aircraft: Administrators can add new aircraft to the system.
- Seat Assignment: Administrators can assign available seats for each flight, specifying the number of seats for ranks A, B, and C.
- Price Configuration: Administrators can set prices for ranks A, B, and C seats.
- View Reservations: Administrators can view all flight reservations made by customers.
- Modify Seat Assignments: Administrators can change the assigned seats and modify the seat ranks for tickets.
- Update Flight Details: Administrators can update departure and arrival dates for flights.
- Update Aircraft Details: Administrators can update information about the aircraft.
The project successfully implemented all the required deliverables, including:
-
System Entity Relationship Diagram (ERD): The conceptual model of the system's database design. It includes at least 5 entities, including 1 many-to-many relationship.
-
Software Application: The Flight Reservation System has been implemented using C# and WinForms. The application provides a user-friendly interface for users to interact with the system.
-
Conceptual ERD: The graphical representation of the system's Entity Relationship Diagram. The ERD matches the conceptual model mentioned earlier.
- Corresponding Physical ERD: The transformation of the Entity Relationship Diagram into the physical model. The physical ERD includes tables, attributes, primary keys, foreign keys, and additional constraints.
- Implemented database on MS SQL Server: The database has been successfully implemented using MS SQL Server. It reflects the physical ERD and supports all required functionalities of the Flight Reservation System.
I would like to express my gratitude to the teaching staff and the Department of Information Systems at Cairo University for providing the opportunity to work on this project and expand my knowledge of database systems and software development concepts.