Android App for fresh products.


  • In this project I applied Clean architecture with (MVVM Pattern + State Management) to apply Separation of concerns.
  • using Rx java to handle heavy operations on the background thread.
  • Using Hilt for dependency injection that will make code cleaner and more readable and handy when creating dependecies and testable easier.
  • Single activity architecture its recommended from google to make app consume less resources.
  • I added unit test to domain layer to make sure business logic works well.

Clean Architecture


Clean Architecture layers

clean_architecture_reloaded_layers (1)

Tech Stack

  • kotlin.
  • Clean Architecure with (MVVM + StateManagement).
  • Single activity architecture.
  • RxJava.
  • Google Material design.
  • recycler view.
  • ConstraintLayout.
  • viewmodel and live data.
  • view binding.
  • Dagger Hilt for DI.
  • Unit test (junit – mockito).


View Github