Skip to content

Latest commit

 

History

History
74 lines (62 loc) · 2.9 KB

README.md

File metadata and controls

74 lines (62 loc) · 2.9 KB

Dish Recipes

Made by API GitHub top language Lines of code GitHub issues
Dagger2 Retrofit2 RxJava Room Lifecycle Navigation

image


Introductions

Dish Recipes is an application where you can store favourite recipes and find new ideas for cooking. Application is based on modern technologies, such as MVVM Architecture, Dependency Injection with MultiBinding, and Jetpack.

Overview

All Dishes

All Dishes is a Fragment, where the User can see all the recipes ever added. It means that all dishes created by the User and received by API Call, firstly get there. Furthermore, Users can choose how Recipes are displayed, Edit or Delete them and Filter them by Type and Category. The filter list is dynamic, so it will be based on the existing data in the Local Repository.
image image image

Favorite Dishes

(1st Screenshot below) Fragment provides all favourite recipes. Like in the previous fragment, there is an available selection of List displaying, Dish Editing and Deleting.
image image image

Add & Update Dish

(2nd & 3rd Screenshot above) Fragment, where User can add New Dish. In addition, it's used for Editing Existed.

Dish Details

Fragment provides all related information to the previously chosen Recipe. There, the User can add it to Favorite or Delete.
NOTE: Only created by User Dishes are available for Editing (1st & 2nd Screenshot below)
image image image

Random Dish

Fragment request Api call and provides received Random Recipe to User. Dish automatically saves to the local repository. However, the recipe Source Link is only available in this fragment and will not be saved (3rd Screenshot above)


Technology Stack

  • Kotlin
  • Jetpack
    • Lifecycle
    • LiveData
    • ViewModel
    • WorkManager
    • Room
    • Navigation Component & safeArgs
  • Dagger2
    • Multibinding
  • Retrofit2
  • RxJava3
  • Glide