Restaurant is a demo application based on modern Android application tech-stacks and MVVM architecture.

Fetching data from the network via repository pattern.

A sample Restaurant application based on MVVM (ViewModel, Coroutines, Flow, Repository, Hilt) architecture


Go to the Releases to download the latest APK.


Tech stack & Open-source libraries

  • Minimum SDK level 21
  • Kotlin based + Coroutines for asynchronous.
  • JetPack
    • Kotlin flows - notify domain layer data to views.
    • Lifecycle - dispose of observing data when lifecycle state changes.
    • ViewModel - UI related data holder, lifecycle aware.
  • Architecture
    • MVVM Architecture (View - DataBinding - ViewModel - Model)
    • Repository pattern
    • Hilt - dependency injection.
  • Retrofit2 & Gson - construct the REST APIs.
  • OkHttp3 - implementing interceptor, logging and mocking web server.
  • Glide - loading images.
  • Timber - logging.
  • ShummerLayout - an Android library that provides an easy way to add a shimmer effect to any view in your Android app.
  • Material-Components - Material design components like ripple animation, cardView.


Resturant is based on MVVM architecture and a repository pattern.