Skip to content

A JAVA Android application that allows users to explore new and delicious food recipes

Notifications You must be signed in to change notification settings

kabhamo/Food-Recipe-Application

Repository files navigation

Food Recipe

A JAVA application that allow users to explore new and delicious food recipes

Table of Contents

Prerequisites

  • Download the repository
  • Download Android Studio
  • Android Device. Or install Virtual one with Target: Android 11.0 API 30

Installation

$ git clone https://github.com/kabhamo/Food-Recipe-Application.git

Acknowledgements

$
The Application interact with a REST API from Forkify API.

The app will retrieve information from the website and display it in various view types.

I love food, I believe I am a good cooker so I made this application so it can help me to keep updated with the many delicious recipes we all love.
I use this Technology
to make it work and easy to use. I am so happy to share it with everyone

See the list of all available queries Search Queries.

Architecture Diagram



Technology


  1. MVVM Architecture: ViewModel, Repository, Client structure
  2. REST API Retrofit2
  3. Data Base Cache
  4. Singletons
  5. RecyclerView Pagination
  6. Observables, LiveData, MutableLiveData and MediatorLiveData
  7. Displaying Images using Glide
  8. SearchViews
  9. Async Task, ThreadPools, OOP
  10. Network Security Config for HTTP (API 28+)

Dependencies I Used:

	dependencies {
def retrofitVersion = '2.4.0'
def lifecycle_version = "1.1.1"
def supportVersion = "28.0.0"
def glideVersion = "4.12.0"

implementation 'androidx.appcompat:appcompat:1.3.1'
implementation 'com.google.android.material:material:1.4.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.1'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'

//retrofit
//noinspection GradleDependency
implementation "com.squareup.retrofit2:retrofit:$retrofitVersion"

// Retrofit gson converter
//noinspection GradleDependency
implementation "com.squareup.retrofit2:converter-gson:$retrofitVersion"

// ViewModel and LiveData
implementation "android.arch.lifecycle:extensions:$lifecycle_version"

// CardViews
implementation "androidx.cardview:cardview:1.0.0"

// RecyclerViews
implementation "androidx.recyclerview:recyclerview:1.2.1"
// For control over item selection of both touch and mouse driven selection
implementation "androidx.recyclerview:recyclerview-selection:1.1.0"

// Design Support
implementation "com.android.support:design:$supportVersion"

// Glide
//noinspection GradleDependency
implementation "com.github.bumptech.glide:glide:$glideVersion"
annotationProcessor "com.github.bumptech.glide:compiler:$glideVersion"

// Circle ImageView
implementation 'de.hdodenhof:circleimageview:3.1.0'

}

Some Useful links

Releases

No releases published

Packages

No packages published