Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ahmedgamalramadan/weathercompose
https://github.com/ahmedgamalramadan/weathercompose
coil coil-image-loader coroutines-android dependency-injection jetpack-compose kotlin modularization moshi-converter mvvm-architecture navigation retrofit weather-app
Last synced: 3 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/ahmedgamalramadan/weathercompose
- Owner: AhmedGamalRamadan
- Created: 2024-06-29T00:12:51.000Z (5 months ago)
- Default Branch: master
- Last Pushed: 2024-08-13T17:03:53.000Z (3 months ago)
- Last Synced: 2024-08-14T19:43:16.935Z (3 months ago)
- Topics: coil, coil-image-loader, coroutines-android, dependency-injection, jetpack-compose, kotlin, modularization, moshi-converter, mvvm-architecture, navigation, retrofit, weather-app
- Language: Kotlin
- Homepage:
- Size: 123 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Weather App in Kotlin using Jetpack Compose
This Weather App is an Android application that provides real-time weather information by fetching data from a weather API. Built using Jetpack Compose for a modern UI, the app showcases efficient API integration and clean architecture practices.
## Features:
- **Jetpack Compose:** The app leverages *Jetpack Compose*, a modern Android UI toolkit, to create a seamless and interactive user experience.
- **Kotlin:** Developed entirely in *Kotlin*, the codebase benefits from the conciseness and expressiveness of the language, promoting efficient and readable code.
- **Retrofit:** Fetches news articles from an API.
- **Moshi:** Utilize Moshi for efficient JSON parsing, ensuring seamless communication with APIs.
- **Clean Architecture:** The project follows a clean and modular architecture, making it easy to understand and extend.
- **Modularization**: The application employs a modularization approach to divide the project into separate modules, such as domain, presentation, and data. Each module has clear responsibilities and can be developed independently.
- **MVVM (Model-View-ViewModel)**: The MVVM architecture is utilized to separate the business logic from the view. The Model represents data and business rules, the View is the user-visible interface, and the ViewModel is responsible for preparing and delivering data to the View.
- **Dependency Injection:** Employing dependency injection enhances the app's maintainability and testability by decoupling components and facilitating easier component replacement and testing.
- **Implements MVVM architecture for clean and organized code.**## Architecture block diagram
![Android Architecture](https://github.com/lofcoding/AndroidArchitectureSample/assets/109604722/ed29d956-1154-4518-9107-e4e1a34b4a35)## Installation
1. **Clone the Repository**: Clone this repository to your local machine.
2. **Open in Android Studio**: Open the project in Android Studio.
3. **Build and Run**: Build and run the project on an Android device or emulator.## Screenshots:
## Connect with Me 🌐
Let's connect! Feel free to reach out on LinkedIn.