The Real-time Air Quality Monitoring Dashboard for Colombo is a web-based application designed to provide real-time air quality information for the Colombo Metropolitan Area. This dashboard allows users to:
- Monitor Air Quality Index (AQI) levels across the city.
- Explore historical trends in air quality.
- Understand the spatial distribution of air pollutants.
The system simulates data from a network of air quality sensors placed across Colombo to generate AQI readings. Users can interact with the dashboard to gain insights into air quality conditions in their environment.
- Real-time AQI Monitoring: View up-to-date air quality information for different locations in Colombo.
- Historical Data Analysis: Access past AQI trends and visualize changes over time.
- Interactive Map Visualization: Display air quality levels on a city-wide map.
- Data Simulation: The system generates AQI readings based on simulated sensor data.
- User-Friendly Interface: A responsive and easy-to-navigate dashboard.
- Custom Alerts: Set up notifications for specific AQI thresholds.
- Multi-User Access: Different user roles with varying access levels.
- Mobile Compatibility: Fully responsive design for mobile users.
- Downloadable Reports: Export air quality data for further analysis.
- Frontend: ASP.NET Core MVC, JavaScript, HTML, CSS
- Backend: ASP.NET Core Web API
- Database: SQL Server
- Data Processing: .NET Core
- Mapping & Visualization: Leaflet.js / Google Maps API
- Deployment: Azure / AWS (Optional)
Ensure you have the following installed on your system:
- .NET 6.0 or later
- SQL Server
- Visual Studio or VS Code
- Node.js (for frontend package management)
-
Clone the Repository
git clone https://github.com/your-repository/air-quality-dashboard.git cd air-quality-dashboard -
Setup Database
- Create a new SQL Server database.
- Run the provided
database.sqlscript to create necessary tables.
-
Configure the Application
- Update the
appsettings.jsonfile with your database connection string.
- Update the
-
Run the Backend API
cd backend dotnet run -
Run the Frontend
cd frontend npm install npm start -
Open your browser and navigate to
http://localhost:5000(or the configured port).
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/aqi/latest |
Get the latest AQI data |
| GET | /api/aqi/history |
Fetch historical air quality data |
| GET | /api/locations |
Retrieve list of monitored locations |
| POST | /api/alerts |
Set up AQI threshold alerts |
| GET | /api/reports |
Generate and download AQI reports |
- Create an App Service in Azure.
- Configure the SQL Server Database.
- Deploy the API and Frontend via Azure DevOps or GitHub Actions.
- Use AWS Elastic Beanstalk for the .NET API.
- Set up an RDS SQL Server Instance.
- Deploy the frontend to S3 with CloudFront for distribution.
- Implement JWT-based authentication for secure API access.
- Use HTTPS to encrypt data transmission.
- Regularly update dependencies to mitigate security vulnerabilities.
- Enable role-based access control (RBAC) for different user levels.
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch (
feature-branch). - Commit changes and push to your branch.
- Create a Pull Request.
This project is licensed under the MIT License. See the LICENSE file for details.
For inquiries or support, reach out to your.email@example.com or open an issue on GitHub.
- AI-Powered Predictions: Forecast air quality trends using machine learning.
- IoT Integration: Connect with physical air quality sensors for real data.
- Multi-City Expansion: Extend support for other regions.
- Social Sharing: Share air quality reports via social media platforms.
- User Feedback Mechanism: Collect user input to improve the dashboard.