Skip to content

This project is built using the latest tech stack, including Compose for the UI, Ktor for backend communication, Flow for asynchronous operations, Koin for dependency injection, and MVVM for a clean architecture. Unit testing ensures reliability and code quality. The result is a modern and responsive Android app with a well-organized structure.

Notifications You must be signed in to change notification settings

AhmedOmara14/NewsApp

Repository files navigation

News App

Project Overview

The News App is a dynamic platform that offers a curated list of news articles. Users can easily search for news articles by title and access detailed information about each article.

Key Features

  • Modular Design: Implemented modularization by creating separate data and domain modules, enhancing code organization and maintainability. These modules are seamlessly integrated into the main project.
  • Persistent Storage: Utilized Room Database to effectively store and manage articles. This enables smooth unit testing of data operations, ensuring data integrity and reliability.

Technology Stack

The News App is built using cutting-edge technologies and architecture to deliver a seamless user experience:

  • UI: JetPack Compose
  • Language: Kotlin
  • Networking (Master Branch): Retrofit
  • Networking (Ktor Client Branch): Ktor
  • Concurrency: Coroutine with Flow
  • Dependency Injection: Koin
  • Architecture: MVVM (Model-View-ViewModel)
  • Testing: Comprehensive unit testing
  • Database: Room
Branches:

Master Branch (Retrofit) Ktor Client Branch (Ktor) Koin Branch (Koin)

Continuous Integration

We have implemented an Android pipeline CI to ensure code quality and streamline the development process. The pipeline includes the following stages:

  • Lint: Analyzes the code for potential errors and ensures it adheres to coding standards.
  • Unit Test: Runs unit tests to validate the functionality of individual components.
  • Static Code Analysis: Performs static analysis to identify potential issues in the codebase.
  • Package: Packages the application and prepares it for deployment.
Android Pipeline

Screenshots

News App Screenshot

Experience the future of news consumption with the News App, where innovation meets information. Stay informed effortlessly.

About

This project is built using the latest tech stack, including Compose for the UI, Ktor for backend communication, Flow for asynchronous operations, Koin for dependency injection, and MVVM for a clean architecture. Unit testing ensures reliability and code quality. The result is a modern and responsive Android app with a well-organized structure.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages