Skip to content

AhmedGamalRamadan/NewsCompose

Repository files navigation

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

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

Screenshots:

splash splash splash
splash splash splash
splash splash splash
splash splash splash
splash splash splash

Connect with Me 🌐

Let's connect! Feel free to reach out on LinkedIn.

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