Skip to content

This is JetNews, an app built with the latest industry practices. It features Multi-Modules, Clean Architecture, Compose UI, Coroutines & Flow, Dark/Light Theme, and comprehensive Unit and UI Testing.

Notifications You must be signed in to change notification settings

osamasayed585/JetNews

Repository files navigation

JetNews 🗞️

JetNews is a modern open-source Android app built using Jetpack Compose.
It demonstrates clean architecture, safe network handling, and the latest Android development practices.

📱 Screenshots

✨ Features

  • Modern UI with Jetpack Compose
  • Clean architecture with clear separation of concerns
  • Safe network calls using Retrofit and safeApiCall
  • Custom error handling system with support for:
    • No internet
    • Server errors
    • Timeout
    • Parsing issues
  • Pagination support with Paging 3
  • Shared Element Transitions using Compose
  • Stores user preferences using DataStore
  • Dependency Injection with Hilt
  • Background work using Kotlin Coroutines and Flow
  • Logging with Timber
  • Unit tests using JUnit, MockK, and coroutines-test

🧱 Tech Stack

  • Kotlin
  • Jetpack Compose
  • Retrofit
  • Coroutines + Flow
  • Paging 3
  • ViewModel (AndroidX)
  • Hilt for Dependency Injection
  • DataStore for local preferences
  • JUnit for unit testing
  • MockK for mocking
  • Timber for logging

🧰 Error Handling

The app uses a custom error handling system that:

  • Wraps API calls with safeApiCall
  • Converts exceptions into readable and structured ErrorEntity
  • Supports different types of errors (network, timeout, etc.)
  • Uses a base response model for consistent handling
  • Is fully tested in the network module

📦 Download APK

👉 Download Latest APK

(Check the Releases section for signed debug APKs)

✅ Getting Started

  1. Clone this repo:
    git clone https://github.com/osamasayed585/JetNews.git
    

About

This is JetNews, an app built with the latest industry practices. It features Multi-Modules, Clean Architecture, Compose UI, Coroutines & Flow, Dark/Light Theme, and comprehensive Unit and UI Testing.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages