A modern Android weather application built with Kotlin and Jetpack Compose that provides current, hourly, and daily weather forecasts with location search powered by a geocoding API.
- 🌡️ Current weather conditions
- ⏱️ Hourly weather forecast
- 📅 Daily weather forecast
- 🔍 Location search using geocoding
- 📍 Automatic location-based weather
- 🌗 Light & Dark mode support
- 🎨 Modern UI built with Jetpack Compose
- Language: Kotlin
- UI: Jetpack Compose
- Architecture: MVVM
- State Management: ViewModel + Compose State
- Networking: Retrofit / OkHttp
- Geocoding API – for searching locations and resolving addresses
- Weather API – for current, hourly, and daily weather data
- Temperature (current, min, max, feels-like)
- Sunrise & Sunset
- Daylight duration
- Precipitation (probability & total)
- UV Index (normal & clear sky)
- Wind speed & gusts
- Weather condition codes
Jetpack Compose UI
↓
ViewModel
↓
Repository
↓
Remote APIs
- Android Studio (latest recommended)
- Android device or emulator
- Internet connection
git clone https://github.com/sukhmmeet/Weather-Android-App.git- Open the project in Android Studio
- Sync Gradle
- Run on emulator or physical device
Create a config file for API setup:
object ApiConfig {
const val WEATHER_BASE_URL = "https://api.open-meteo.com/v1/"
const val GEOCODING_BASE_URL = "https://geocode.maps.co/"
}Contributions are welcome.
Fork the repository and submit a pull request.
This project is licensed under the MIT License.
Sukhmeet Singh Dhaliwal
Android Developer | Kotlin | Jetpack Compose




