DeepBreath is a Flutter app for exploring air quality monitoring stations around the world, powered by the OpenAQ API v3.
- Browse countries and their air quality monitoring stations
- View station details: owner, provider, instrument, timezone, coordinates, and active period
- See which pollutants each station monitors (PM2.5, NO₂, O₃, CO, SO₂, and more)
- Tap any sensor chip to load its latest measurement value on demand
- Search and filter countries and stations by name
- Shared element (Hero) animations between screens
- Flutter SDK ≥ 3.5.0
- An OpenAQ API key
-
Clone the repository and install dependencies:
flutter pub get
-
Create the secrets file (gitignored):
cp lib/utils/api_secrets.dart.example lib/utils/api_secrets.dart
Then replace the placeholder with your OpenAQ API key.
-
Run the app:
flutter run
| Library | Purpose |
|---|---|
| get | State management, DI, and navigation |
| http | REST API calls |
| flag | Country flag widgets |
| geolocator | Device geolocation |
| intl | Date formatting |
Clean Architecture organized into two feature modules (countries, location), each with its own data, domain, and presentation layers. GetX handles dependency injection via Binding classes and named route navigation. Controllers are stateless — they expose Stream<Resource<T>> methods that screens consume with await for.
ScreenRecording_06-26-2026.02-49-03_1.2.mov
Watch a walkthrough on YouTube (PT-BR).