This is a part of GUVI DS project it is designed to assist aviation enthusiasts, analysts, and organizations in understanding:
- airport networks,
- flight patterns,
- flight operations while exploring detailed flight information interactively.
Key Objectives Met:
- Automated Data Extraction: Successfully integrated with the AeroDataBox API to fetch flight schedules.
- Database Design: MySQL database schema (
flights,airport,aircraft,airport_delays) to ensure data integrity and query efficiency. - Interactive UI/UX: Developed a Streamlit application with Plotly visualizations, featuring custom parameter filtering and responsive layouts.
- Language: Python 3.11.14
- Database: MySQL
- Data Processing: Pandas, NumPy
- Visualization & UI: Streamlit, Plotly Express
- External Data Source: AeroDataBox API (via RapidAPI)
Project_1 /
│
├── streamlit_app.py # Main entry point (Imports from src.components)
├── requirements.txt # Dependencies (pandas, streamlit, sqlalchemy, etc.)
├── .env # API keys and Database credentials (create it in the root folder)
├── .gitignore # Prevents .env and __pycache__ from being uploaded
│
└── src/ # All Source Code
├── __init__.py # Makes 'src' a package
├── pipeline.py # ETL logic (API -> Cleaning -> MySQL)
├── database.py # Database connection logic
├── queries.py # SQL queries for fetching data
└── components/ # UI modules (nested inside src)
├── __init__.py # Makes 'components' a sub-package
├── maps.py # Map visualizations
├── tab1.py # UI for Tab 1
├── tab2.py # UI for Tab 2
└── tab3.py # UI for Tab 3- Python 3.8+ installed.
- A local MySQL server running.
- An active API key from AeroDataBox (RapidAPI)
1. Clone the repository:
git clone https://github.com/nithansantiago021/Project_1.git
cd Global-Flight-Analytics-dashboard2. Install required dependencies:
pip install -r requirements.txt3. Configure Connection to SQL:
- update the database connection credentials in your python script or
.envfile
4. Run the Streamlit Application:
streamlit run dashboard.py