This project provides a full-stack solution for forecasting and analyzing air quality data. It includes a Python backend for data processing and modeling, and a React frontend for data visualization and user interaction.
- Air Quality Forecasting: Predicts future air quality levels for various pollutants.
- Data Visualization: Interactive charts and heatmaps to visualize historical and forecasted data.
- Health Recommendations: Provides personalized health advice based on AQI levels.
- Crowdsourced Feedback: Allows users to submit feedback on current air quality conditions.
- Model Performance Metrics: Displays metrics to evaluate the accuracy of the forecasting models.
- Python: The core language for data processing and modeling.
- FastAPI: A modern, fast (high-performance) web framework for building APIs.
- Pandas & NumPy: For data manipulation and numerical operations.
- Scikit-learn & XGBoost: For building and training machine learning models.
- Uvicorn: An ASGI server for running the FastAPI application.
- React: A JavaScript library for building user interfaces.
- Vite: A fast build tool and development server for modern web projects.
- Tailwind CSS: A utility-first CSS framework for rapid UI development.
- Recharts: A composable charting library built on React components.
- i18next: An internationalization framework for translating the application.
- Python 3.10 or higher
- Node.js and npm
-
Navigate to the backend directory:
cd backend -
Create a virtual environment:
python3 -m venv .venv
-
Activate the virtual environment:
- On macOS and Linux:
source .venv/bin/activate - On Windows:
.venv\\Scripts\\activate
- On macOS and Linux:
-
Install the required Python packages:
pip install -r requirements.txt
-
Navigate to the frontend directory:
cd frontend -
Install the required npm packages:
npm install
-
Navigate to the
backenddirectory and ensure your virtual environment is activated. -
Run the data processing pipeline to generate predictions:
python main.py
-
Start the FastAPI server:
uvicorn app:app --host 0.0.0.0 --port 8000 --reload
-
Navigate to the
frontenddirectory. -
Start the Vite development server:
npm run dev
The application will be available at http://localhost:5173.