A comprehensive airport management system built with Python that handles flight operations, passenger management, employee management, airport operations, and reporting.
- Add new flights with details like flight series, number, departure/arrival airports, times, and pricing
- Update existing flight information
- Delete flights from the system
- Search flights based on various criteria
- View complete flight schedules
- Manage flight statuses (Scheduled, Boarding, Departed, Arrived, Delayed, Cancelled)
- Calculate flight fares based on distance, duration, and stops
- Register new passengers
- Update passenger information
- Delete passenger records
- Search passengers
- View all passenger records
- Manage passenger bookings
- Handle passenger cancellations
- Send booking confirmations and notifications
- Add new employees with details like name, position, department, and contact information
- Update employee records
- Delete employee records
- Search employees by various criteria
- View all employee records
- Manage employee profiles and details
- Add new airports with details like code, name, city, country, and terminals
- Update airport information
- Delete airport records
- Search airports by code, city, or country
- View all airport records
- Generate flight operation reports
- Total flights
- Flights by status
- Scheduled, boarding, departed, arrived, delayed, and cancelled flights
- Generate passenger statistics
- Total passengers
- Average passengers per flight
- Generate employee statistics
- Employee count by department
- Generate airport statistics
- Total airports
- Airports by country
- Total terminals
- PostgreSQL database integration
- Secure database connections
- Efficient query execution
- Transaction management
- Clean and intuitive command-line interface
- Menu-driven navigation
- Input validation
- Clear error messages
- Formatted output display
- Modular design
- Separation of concerns
- Organized package structure:
src/ ├── managers/ │ ├── flight/ │ ├── passenger/ │ ├── employee/ │ ├── airport/ │ └── reports/ ├── database/ └── utils/
- Comprehensive exception handling
- User-friendly error messages
- Database error management
- Input validation
- Python 3.8+
- PostgreSQL database
- Required Python packages:
- psycopg2 (PostgreSQL adapter)
- datetime
- typing
-
Clone the repository:
git clone https://github.com/yourusername/airport-management-system.git
-
Install required packages:
pip install -r requirements.txt
-
Set up the PostgreSQL database:
- Create a new database
- Run the database initialization script
-
Configure database connection:
- Update database credentials in the configuration file
-
Run the main application:
python main.py
-
Navigate through the menu system:
- Use number keys to select options
- Follow on-screen prompts
- Press Enter to continue
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.