The Flight Reservation System is a web-based application designed to manage flight bookings and reservations efficiently. Inspired by real-world systems like EgyptAir, this project includes functionalities for both administrators and customers to interact seamlessly with flight data.
- Sign Up: Allows new users (both admin and customers) to create accounts.
- Update User Details: Users can modify their account information as needed.
- Add Aircraft: Admin can add new aircraft to the system.
- Update Aircraft Details: Admin can update the specifications of existing aircraft.
- Add Flight: Admin can add new flights to the system.
- Update Flight Details: Admin can update flight information.
- View Available Flights: Users can view a list of available flights based on specific criteria (e.g., date, source, destination, required number of seats).
- Booking Operations: Users can book flights, cancel bookings, or change flight classes.
- Generate Reports: The system can generate meaningful reports for administrative purposes (bonus functionality).
- The system utilizes a SQL Server database, which is generated from the physical Entity Relationship Diagram (ERD). The database includes populated data for testing and demonstration.
- A conceptual ERD has been constructed to represent the initial design of the system, showcasing entities, relationships, and attributes.
- The conceptual ERD has been converted into a physical ERD, defining primary keys, foreign keys, and the relationships between entities clearly.
- The ERD includes at least five entities, with one many-to-many relationship and one weak entity.
- The SQL Server database has been generated based on the physical ERD and contains populated data to simulate real-world usage.
The application is implemented in C#, featuring the following SQL operations:
-
Insert Statements:
- Insert a new user into the Users table.
- Insert a new flight into the Flights table.
-
Delete Statements:
- Delete a user from the Users table with specific conditions.
- Delete a flight from the Flights table with specific conditions.
-
Update Statements:
- Update user details in the Users table based on user ID.
- Update flight details in the Flights table based on flight ID.
-
Select Operations:
- Select all users from the Users table.
- Select flights that satisfy criteria using joins between Flights and Aircraft tables.
- A Graphical User Interface (GUI) has been implemented to enhance user interaction with the system.
- The system's ERD has been reviewed with the TA, and necessary updates have been made to ensure accuracy and completeness.
- Clone the repository to your local machine.
- Open the solution file in Visual Studio.
- Ensure that SQL Server is running and the database is set up according to the provided schema.
- Run the application and navigate through the functionalities.
For inquiries, please contact:
- Mail: MyEmail
- GitHub: Shand Elnassag