Skip to content

kocerenes/FoodRecipes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

131 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FoodRecipes

An application that allows users to easily find recipes with the necessary filtering and search features.

App GIF

Light Theme Dark Theme
Fist 3

Features 🕹

  • 100% Kotlin-only
  • Following MVVM Architectural Design Pattern
  • Dark theme
  • Multi-Activity
  • Local Caching

Tech stack

  • ✅ MVVM with Clean Architecture
  • Kotlin Flow - In coroutines, a flow is a type that can emit multiple values sequentially, as opposed to suspend functions that return only a single value.
  • LiveData - is an observable data holder class. Unlike a regular observable, LiveData is lifecycle-aware, meaning it respects the lifecycle of other app components, such as activities, fragments, or services.
  • Coroutines - A concurrency design pattern that you can use on Android to simplify code that executes asynchronously.
  • Navigation Component - Handle everything needed for in-app navigation. asynchronous tasks for optimal execution.
  • Safe-Args - For passing data between destinations
  • Dagger-Hilt - A dependency injection library for Android that reduces the boilerplate of doing manual dependency injection in your project.
  • ViewModel - Easily schedule asynchronous tasks for optimal execution.
  • Retrofit- Retrofit is a REST client for Java/ Kotlin and Android by Square inc under Apache 2.0 license. Its a simple network library that is used for network transactions. By using this library we can seamlessly capture JSON response from web service/web API.
  • OkHttp - Doing HTTP efficiently makes your stuff load faster and saves bandwidth.
  • Coil - An image loading library for Android backed by Kotlin Coroutines
  • View Binding - a feature that allows you to more easily write code that interacts with views.
  • Data Binding - The Data Binding Library is a support library that allows you to bind UI components in your layouts to data sources in your app using a declarative format rather than programmatically.
  • Lifecycle - As a user navigates through, out of, and back to your app, the Activity instances in your app transition through different states in their lifecycle.
  • Room - The Room persistence library provides an abstraction layer over SQLite to allow for more robust database access while harnessing the full power of SQLite.
  • DataStore - Jetpack DataStore is a data storage solution that allows you to store key-value pairs or typed objects with protocol buffers. DataStore uses Kotlin coroutines and Flow to store data asynchronously, consistently, and transactionally.
  • Jsoup - It provides a very convenient API for fetching URLs and extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.

Releases

No releases published

Packages

 
 
 

Contributors

Languages