https://github.com/anish-2005/tech-expo
A comprehensive air quality monitoring system with a space-themed design, built for the Tech Expo Hackathon. This repository contains a full-stack application that provides real-time air quality intelligence across India
https://github.com/anish-2005/tech-expo
app-dev aqi expressjs flutter ml nodecron supabase
Last synced: about 20 hours ago
JSON representation
A comprehensive air quality monitoring system with a space-themed design, built for the Tech Expo Hackathon. This repository contains a full-stack application that provides real-time air quality intelligence across India
- Host: GitHub
- URL: https://github.com/anish-2005/tech-expo
- Owner: Anish-2005
- Created: 2025-07-09T19:32:40.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2025-07-09T19:44:16.000Z (3 months ago)
- Last Synced: 2025-07-10T05:02:22.502Z (3 months ago)
- Topics: app-dev, aqi, expressjs, flutter, ml, nodecron, supabase
- Language: Dart
- Homepage:
- Size: 776 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# π Atmospheric Quality Intelligence (AQI) Monitor
**A Space-Themed Air Quality Monitoring System for the Tech Expo Hackathon**
[](https://flutter.dev)
[](https://nodejs.org)
[](https://postgresql.org)
[](https://vercel.com)## π Overview
The **Atmospheric Quality Intelligence (AQI) Monitor** is a comprehensive air quality monitoring solution developed for the Tech Expo Hackathon. This project combines a space-themed Flutter mobile application with a robust Node.js backend to provide real-time air quality data across India using satellite-grade precision and government APIs.
### π Key Features
- **π°οΈ Space-Themed UI**: Immersive space-inspired design with animated stars, nebula backgrounds, and cosmic aesthetics
- **π Real-Time Location Tracking**: GPS-based location services for precise air quality monitoring
- **πΊοΈ Interactive Maps**: Integration with Google Maps and Flutter Map for visual data representation
- **π Data Visualization**: Beautiful charts and graphs using FL Chart for AQI trends
- **π Smart Notifications**: Local notifications for air quality alerts and updates
- **π‘οΈ Multi-Pollutant Monitoring**: Tracks PM2.5, PM10, NO2, SO2, CO, Ozone, and NH3 levels
- **π± Cross-Platform**: Flutter app supporting Android, iOS, Web, Windows, macOS, and Linux
- **π Web Interface**: Additional web-based GeoFinder tool for location discovery## ποΈ Architecture
### π± Frontend (Flutter App)
```
app/
βββ lib/
β βββ main.dart # Entry point with space-themed splash screen
β βββ screens/
β β βββ home_page.dart # Main dashboard with AQI data and maps
β βββ models/ # Data models (to be implemented)
β βββ services/ # API services (to be implemented)
β βββ utils/ # Utility functions (to be implemented)
β βββ widgets/ # Reusable UI components (to be implemented)
βββ assets/
β βββ astronaut.webp # Space-themed imagery
β βββ India-map.svg # Indian map visualization
β βββ logo.png # App logo
βββ pubspec.yaml # Dependencies and project configuration
```### π₯οΈ Backend (Node.js API)
```
backend/
βββ index.js # Express server with CORS and API endpoints
βββ data.js # Government API data fetching
βββ db.js # PostgreSQL database operations
βββ aqiCalculator.js # AQI calculation algorithms
βββ connection.js # Database connection management
βββ package.json # Node.js dependencies
βββ vercel.json # Deployment configuration
```## π οΈ Technology Stack
### Mobile Application
- **Framework**: Flutter 3.0+
- **Language**: Dart
- **Maps**: Google Maps Flutter, Flutter Map
- **Location**: Geolocator
- **Charts**: FL Chart
- **Animations**: Animated Text Kit, Shimmer
- **HTTP**: HTTP package for API calls
- **State Management**: Provider
- **Notifications**: Flutter Local Notifications### Backend API
- **Runtime**: Node.js
- **Framework**: Express.js
- **Database**: PostgreSQL
- **Scheduler**: Node-Cron
- **Environment**: Dotenv
- **HTTP Client**: Node-Fetch
- **Deployment**: Vercel### Data Sources
- **Government API**: data.gov.in AQI datasets
- **Weather API**: OpenWeather integration (configured)
- **Mapping**: Leaflet.js, Google Maps## π¦ Installation & Setup
### Prerequisites
- Flutter SDK (3.0 or higher)
- Node.js (16 or higher)
- PostgreSQL database
- Android Studio / Xcode (for mobile development)
- API keys for data.gov.in and OpenWeather### π Quick Start
#### 1. Clone the Repository
```bash
git clone https://github.com/yourusername/Tech-Expo.git
cd Tech-Expo
```#### 2. Backend Setup
```bash
cd backend
npm install# Create .env file
echo "AQI_API_KEY=your_data_gov_in_api_key" > .env
echo "DATABASE_URL=your_postgresql_connection_string" >> .env# Start the server
npm start
```#### 3. Flutter App Setup
```bash
cd app
flutter pub get# For Android
flutter run# For iOS
flutter run -d ios# For Web
flutter run -d chrome
```## π§ Configuration
### Environment Variables (.env)
```env
AQI_API_KEY=your_data_gov_in_api_key
DATABASE_URL=postgresql://user:password@localhost:5432/aqi_db
NODE_ENV=production
```### Flutter Configuration
Update the API endpoint in the Flutter app:
```dart
// In lib/screens/home_page.dart
const String API_BASE_URL = 'https://your-api-domain.vercel.app';
```### Database Schema
The PostgreSQL database includes tables for:
- `stations` - Air quality monitoring stations
- `pollutant_data` - Raw pollutant measurements
- `aqi_data` - Calculated AQI values with categories## π API Endpoints
### Base URL: `https://your-api-domain.vercel.app/api`
| Endpoint | Method | Description |
|----------|--------|-------------|
| `/health` | GET | Server health check |
| `/aqidata` | GET | Retrieve all AQI data points |
| `/pollutants` | GET | Get pollutant measurements |
| `/stations` | GET | List monitoring stations |### Sample API Response
```json
{
"status": "success",
"data": [
{
"station_id": "DELHI001",
"time": "2025-07-10T12:00:00Z",
"latitude": 28.6139,
"longitude": 77.2090,
"aqi": 156,
"category": "Moderate",
"dominant_pollutant": "PM2.5"
}
]
}
```## π¨ Design Features
### Space Theme Elements
- **Cosmic Color Palette**: Deep space blues (#0A043C) with teal accents
- **Animated Stars**: Randomly positioned twinkling star field
- **Nebula Backgrounds**: SVG-based cosmic imagery
- **Astronaut Graphics**: Space exploration themed assets
- **Floating Animations**: Scale and opacity transitions
- **Cosmic Typography**: Animated text with space-grade terminology### AQI Visualization
- **Color-Coded Categories**:
- π’ Good (0-50)
- π‘ Satisfactory (51-100)
- π Moderate (101-200)
- π΄ Poor (201-300)
- π£ Very Poor (301-400)
- π΄ Severe (400+)## π± Supported Platforms
- β Android (API 21+)
- β iOS (iOS 12+)
- β Web (Modern browsers)
- β Windows (Windows 10+)
- β macOS (macOS 10.14+)
- β Linux (Ubuntu 18.04+)## π€ Contributing
1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request### Development Guidelines
- Follow Flutter/Dart style guidelines
- Use meaningful commit messages
- Add comments for complex algorithms
- Test on multiple platforms
- Update documentation for new features## π License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## π― Hackathon Context
Developed for the **Tech Expo Hackathon**, this project demonstrates:
- **Space Technology Integration**: Satellite-grade precision in air quality monitoring
- **Government Data Utilization**: Leveraging data.gov.in APIs
- **Cross-Platform Development**: Unified solution across all major platforms
- **Real-Time Monitoring**: Live data processing and visualization
- **User-Centric Design**: Intuitive space-themed interface## π Future Enhancements
- [ ] Machine Learning predictions for AQI trends
- [ ] Satellite imagery integration
- [ ] Social sharing of air quality reports
- [ ] Health recommendations based on AQI levels
- [ ] Multiple language support
- [ ] Offline data caching
- [ ] Push notifications for severe pollution alerts
- [ ] Integration with wearable devices## π₯ Team
- **Frontend Development**: Flutter mobile & web applications
- **Backend Development**: Node.js API and database management
- **UI/UX Design**: Space-themed interface design
- **Data Integration**: Government API integration and processing## π Support
For support, create an issue in the GitHub repository.
---
**π°οΈ "Monitoring Earth's Atmosphere with Space-Grade Precision" π°οΈ**
*Built with β€οΈ for the Tech Expo Hackathon*