Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ahmedgamalramadan/newscompose
MVVM News Application with Jetpack Compose
https://github.com/ahmedgamalramadan/newscompose
coil coil-image-loader coroutines dependency-injection jetpack-compose kotlin moshi-converter mvvm-architecture navigation network-connectivity-check news-application retrofit room-database shimmer-effect
Last synced: 3 days ago
JSON representation
MVVM News Application with Jetpack Compose
- Host: GitHub
- URL: https://github.com/ahmedgamalramadan/newscompose
- Owner: AhmedGamalRamadan
- Created: 2024-03-12T13:31:23.000Z (8 months ago)
- Default Branch: master
- Last Pushed: 2024-09-10T16:10:00.000Z (2 months ago)
- Last Synced: 2024-09-10T18:04:00.186Z (2 months ago)
- Topics: coil, coil-image-loader, coroutines, dependency-injection, jetpack-compose, kotlin, moshi-converter, mvvm-architecture, navigation, network-connectivity-check, news-application, retrofit, room-database, shimmer-effect
- Language: Kotlin
- Homepage:
- Size: 201 KB
- Stars: 5
- Watchers: 1
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# News App in Kotlin using Jetpack Compose
## Description
The News App is a mobile application developed using Kotlin and Jetpack Compose. It's designed to fetch news articles from a provided API and display them in a user-friendly interface.
The application follows the MVVM (Model-View-ViewModel) architecture pattern to ensure separation of concerns and maintainability.## 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.
- **Shimmer Effect:** Utilizes the shimmer effect to provide users with visual feedback while content is loading, enhancing the overall user experience by reducing perceived loading times.
- **Retrofit:** Fetches news articles from an API.
- **Dependency Injection:** Employing dependency injection enhances the app's maintainability and testability by decoupling components and facilitating easier component replacement and testing.
- **Network Connectivity Check:** The app includes functionality to check for network connectivity, ensuring a seamless experience by handling scenarios where the device may be offline or have limited connectivity.
- **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.## Usage
- **Upon launching the app, users will be presented with a list of news articles.**
- **Users can tap on different categories buttons to filter news articles based on their interests.**
- **Further interactions with the app are still under development.**## Demo
Watch the video demo [here](https://www.linkedin.com/posts/ahmed-gamal-ramadan_android-androiddev-jetpackcompose-activity-7189095344276725761-DV1O?utm_source=share&utm_medium=member_desktop)## Screenshots:
## Connect with Me 🌐
Let's connect! Feel free to reach out on LinkedIn.