Skip to content

Mohamed-Rafat-Safan/NewsApp-JetpackCompose

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NewsApp-JetpackCompose

  • This application uses Jetpack Compose and displays news from the Api by Retrofit2 and stores this news in RoomDb.
  • The app supports light mode and dark mode.

Features:

  • Splash Screen
  • Stepper Screen
  • Home Screen to display News
  • Details Screen to display new details
  • Search Screen to search news
  • Bookmark Screen to display all news that is saved in RoomDb
  • light mode and dark mode

The skills are used in this application:

  • language: Kotlin
  • UI layouts using Jetpack Compose
  • Multi-screen navigation with Jetpack Compose Navigation.
  • SavedStateHandle
  • Coil Compose
  • Lottie animation with Compose
  • Clean Architecture {presentation - domain - data}
  • MVVM & MVI architecture
  • Pagination by Paging3
  • Retrofit2 & Gson - construct the REST APIs.
  • Flow
  • Room Database
  • DataStore Preferences
  • Dependency injection by (Dagger Hilt)
  • Coroutines for asynchronous

Architecture

The following diagram shows all the modules and how each module interact with one another after. This architecture using a layered software architecture.


Images this application (light mode):

Splash Screen & Stepper Screen:

           

Home Screen:

   


News Details Screen:

       


News Search Screen:

   


Bookmark Screen:

   


Images this application (Dark mode):

Splash Screen & Stepper Screen:

           

Home Screen:

   


News Details Screen:

       


News Search Screen:

   


Bookmark Screen:

   


This application using the API from site: https://newsapi.org/docs/endpoints/everything

Releases

No releases published

Packages

 
 
 

Contributors

Languages