How adeeb144/weathergpt works
WeatherGPT is a Flutter weather assistant backed by a FastAPI service. Users can ask conversational weather questions by text or voice, view severe alerts, and explore historical climate trends; location and language support enhance those flows. The graph follows documented capabilities and the sampled backend routes. Flutter-to-provider/service wiring and the internal details of the AI agent and weather tools were not sampled, so those links reflect documented responsibilities and omit uncertain internal calls.
Main entry points: main.py FastAPI routes · api_service.dart API service · chat_screen.dart Chat screen · chat_provider.dart Chat state
Components 16
Flutter experience
- Chat screen
app/lib/screens/chat_screen.dart - Chat state
app/lib/providers/chat_provider.dart - Message model
app/lib/models/message.dart - API service
app/lib/services/api_service.dart - Voice service
app/lib/services/voice_service.dart - Location service
app/lib/services/location_service.dart - Alerts screen
app/lib/screens/alerts_screen.dart - Climate charts
app/lib/widgets/climate_dialog.dart
Weather backend
- FastAPI routes
backend/main.py - AI agent
backend/agent.py - Weather tools
backend/tools.py
External capabilities
- Google Gemini
- Open-Meteo
- Device speech
- Device location
Other components
- User
Connections 18
- User → Chat screen: asks weather
- User → Alerts screen: views alerts
- User → Climate charts: views trends
- Chat screen → Chat state: updates
- Chat state → Message model: uses
- Chat state → API service: sends chat
- Chat screen → Voice service: uses voice
- Voice service → Device speech: recognizes and speaks
- Location service → Device location: gets coordinates
- Alerts screen → API service: requests alerts
- Climate charts → API service: requests climate
- API service → FastAPI routes: HTTP requests
- FastAPI routes → AI agent: runs chat agent
- AI agent → Google Gemini: AI function calling
- AI agent → Weather tools: uses weather tools
- FastAPI routes → Weather tools: gets alerts and geocodes
- FastAPI routes → Open-Meteo: fetches climate archive
- Weather tools → Open-Meteo: fetches weather data