A modern Android weather application with the following key features:
- Current weather conditions display
- Hourly forecast
- Daily forecast with sunrise/sunset times
- Detailed weather metrics (temperature, humidity, pressure, wind)
- Built-in chat interface for weather queries
- AI-powered responses (GPT-4 integration)
- Support for popular questions and custom user queries
- Context-aware responses based on current weather data
- Home screen widgets
- Weather notifications
- Automated hourly updates via WorkManager
- Open-Meteo API
- Endpoint:
api.open-meteo.com/v1/forecast - Used for retrieving detailed weather forecasts including daily and hourly data
- Features: Current conditions, multi-day forecasts, weather parameters
- Endpoint:
- AI Chat API
- Endpoint:
api.aimlapi.com/v1/chat/completions - Model: GPT-4o-mini
- Features: Context-aware weather conversations, customized responses
- Endpoint:
-
- Used for location suggestions and address autocompletion
- Features:
- Places Autocomplete for city search
- Geocoding for coordinate-to-address conversion
- Detailed place information
-
- Map integration for location visualization
- Location services for current user position
- Features:
- FusedLocationProvider for precise user location
- Reverse geocoding
- Maps visual interface
Note: API keys are required for all external services. Configure them in
secrets.properties
- Built with Kotlin
- Clean Architecture principles
- Repository pattern
- Domain-driven design
- Jetpack Compose for UI
- Hilt for dependency injection
- WorkManager for background tasks
- Ktor for network requests
- Local caching system
- Multi-language support
- Location-based weather data
- Custom weather data formatting
- Error handling and retry mechanisms
The project follows modern Android development practices with clear separation of concerns and maintainable code structure.
- Egor Pankratiev
- Stanislau Habrus
This project is released under the Apache License 2.0. See the LICENSE file for details.
Copyright 2025 Egor Pankratiev