Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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

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:


splash
splash

## Connect with Me 🌐
Let's connect! Feel free to reach out on LinkedIn.


https://www.linkedin.com/in/ahmed-gamal-97509328a/