A modern weather app built with Jetpack Compose and clean MVVM architecture. Instantly see current weather for any city using the OpenWeatherMap API, featuring a polished interface, dark mode, and weather icons loaded with Coil.
| Light Mode | Dark Mode |
|---|---|
![]() |
![]() |
- Live Weather: Type a city name to get current weather info.
- Dark Mode: Seamless switch between light and dark themes.
- Dynamic Icons: Weather icons loaded with Coil.
- Dynamic Description Colors: Weather description changes color with the weather.
- UI: 100% Jetpack Compose for a modern, reactive interface.
- Networking: Retrofit for robust API calls.
- Image Loading: Coil for fast, efficient weather icons.
- Architecture: Clean MVVM (Model-View-ViewModel).
- Theming: Custom Material with light/dark support.
- Language: Written entirely in Kotlin.
- Android Studio (latest stable version)
- JDK 17 or higher
- OpenWeatherMap API key (get yours)
-
Clone the repository:
git clone https://github.com/Gaurav12480/WeatherApp.git
-
Open in Android Studio:
- Open the project in Android Studio.
- Let Gradle sync all the dependencies.
-
Add your API key:
- Open the
local.propertiesfile in the project and add the following line:WEATHER_API_KEY=your_api_key_here
- Open the
-
Run the app:
- Select an emulator or a physical device.
- Click the Run button.
This project is licensed under the MIT License. See the LICENSE file for details.

