WeatherApp is a simple, elegant weather application built using modern Android development tools. It leverages the power of Jetpack Compose for UI, Retrofit for networking, and follows the MVVM (Model-View-ViewModel) architecture pattern.
- Display current weather information for any location.
- Beautiful UI with Jetpack Compose.
- Real-time weather data from a weather API.
- MVVM architecture for a clean and maintainable codebase.
- Kotlin: Programming language.
- Jetpack Compose: Modern toolkit for building native Android UI.
- Retrofit: Type-safe HTTP client for Android and Java.
- MVVM Architecture: For separation of concerns and better code management.
Here are some screenshots of the application:
This project follows the MVVM (Model-View-ViewModel) architecture:
- Model: Handles the data layer. In this project, it's responsible for fetching data from the weather API using Retrofit.
- View: The UI layer, built using Jetpack Compose.
- ViewModel: Acts as a bridge between the Model and the View. It holds the app's UI-related data and handles the business logic.
Here are the main dependencies used in this project:
- Retrofit: For network requests.
val retrofitVersion = "2.11.0" implementation("com.squareup.retrofit2:retrofit:$retrofitVersion") implementation("com.squareup.retrofit2:converter-gson:$retrofitVersion")
- Jetpack Compose: For building the UI.
implementation 'androidx.compose.ui:ui:1.3.0' implementation 'androidx.compose.material3:material3:1.0.1' implementation 'androidx.lifecycle:lifecycle-viewmodel-compose:2.5.1'
- Coil: For image loading.
implementation("io.coil-kt:coil-compose:2.6.0")
Contributions are welcome! Please open an issue or submit a pull request if you have any improvements or bug fixes.
For any inquiries or questions, feel free to reach out:
- Email: [email protected]
- GitHub: Aryan1patel
Feel free to update the placeholders with actual values, paths to your screenshots, and any additional information you find relevant.