This repository contains the implementation of a train booking system that has multiple feautures as following:
- Signing up a new user (e.g. admin, customer)
- Updating a user's details.
- Adding a train or deleting a train (by admin)
- Updating a train details (by admin)
- Adding a trip (by admin)
- Updating a trip details (by admin)
- Showing a list of available seats that satisfy certain criteria (e.g. date, time, source, destination, required number of seats…)
- Performing operations on trips: Booking, and canceling.
- app.py: The main file that runs the app.
- models.py: a file that contains the classes of the system.
- databaseSQL.py: a file that contains the database connection and the queries.
- BuildTables.sql: a file that contains the SQL queries to build the tables.
- Screenshots.pdf: a file that contains the screenshots of the system.
- README.md: a file that contains the description of the system.
- ERD folder: a folder that contains the (Physical - Conceptual) ERD of the system.
- img folder: a folder that contains the images used in the system.
- ui folder: a folder that contains the ui files of the system.
pip install pyodbc
pip install pyqt5
pip install pyqt5-tools
- PyCharm: an integrated development environment (IDE) used in computer programming, specifically for the Python language.
- Qt Designer: a tool for building graphical user interfaces with Qt widgets from the Qt GUI framework.