Kotlin, MVVM, Navigation Component, Hilt, Jetpack Compose, Coroutine, MutableState, Retrofit2, Glide

Overview

MVVM-RecipeApp

Kotlin, MVVM, Navigation Component, Hilt, Jetpack Compose, Coroutine, MutableState, Retrofit2, Glide

Main Features

  1. Kotlin
  2. MVVM
  3. Jetpack Compose
  4. MutableState
    • Simpler than LiveData or Flow with respect to composables.
  5. Hilt
  6. Navigation Components
  7. Retrofit2
  8. Single Activity Architecture
  9. App Themes
  10. Custom Fonts
  11. Light and Dark theme
    • Toggle between themes

Compose features

  1. Snackbars
  2. Dialogs
  3. Theming
  4. Fonts
  5. Colors
  6. Animations introduction
    • creating a 'shimmering' loading animation
  7. ConstraintLayout
  8. Rows
  9. Columns
  10. Scaffold
  11. AppBar
  12. Circular Progress Indicator

Why not Flow or LiveData?

  1. LiveData
    • LiveData has always been a love/hate thing for me. It's great for some things but can be very annoying for others. For example you MUST have an observer for livedata to emit anything. Making it pretty useless in a repository or anywhere except viewmodel->view communication.
  2. Flow
    1. Flow is great. I use flows for my use cases when building out clean architecture. You don't need an "android observer" because flow lives in the coroutine world and there's even support for operators like RxJava has.
    2. Easily converted from livedata with a single function call.
    3. Tons of other useful properties. Check out the flow docs.
  3. StateFlow
    1. StateFlow is the newest addition to kotlinx.coroutines.flow. Simply put StateFlow is a flow with special properties.
    2. Originally I had planned to use StateFlow but it's really just totally unnecessary. I don't want to show you an unrealistic example of how to use something so I'm sticking with the very simple MutableState in viewmodels.




Author

@ALI

You might also like...
This repository contains a detailed sample app that implements MVVM architecture using Hilt, Coroutines, Retrofit and Compose

Saber News App sample project to explain how to build solid, clean architected App using MVVM and repository architecture Techniques Kotlin Clean arch

📊 A Minimal Expense Tracker App built to demonstrate the use of modern android architecture component with MVVM Architecture
📊 A Minimal Expense Tracker App built to demonstrate the use of modern android architecture component with MVVM Architecture

Expenso 📊 A Simple Expense Tracker App 📱 built to demonstrate the use of modern android architecture component with MVVM Architecture 🏗 . Made with

A sample project in Kotlin to demonstrate AndroidX, MVVM, Coroutines, Hilt, Room, Data Binding, View Binding, Retrofit, Moshi, Leak Canary and Repository pattern.

This repository contains a sample project in Kotlin to demonstrate AndroidX, MVVM, Coroutines, Hilt, Room, Data Binding, View Binding, Retrofit, Moshi, Leak Canary and Repository pattern

App kotlin with flow, paging 3, MVVM, Room, Dagger hilt

TMDBTest App kotlin with flow, paging 3, MVVM, Room, Dagger hilt Para compilar la app se tiene que descargar el proyecto. Luego poner la APIKEY de TMD

MVVM + Clean + Hilt + Mockk

Android - MarvelApp What is this repository for? This repository is to show you my skills programming native Android. If you are interested in my prof

EplFootball - Android application displaying EPL teams and their players using MVVM, Coroutines, Flow, Live Data, Retrofit, View Binding, Data Binding, Hilt e.t.c UserListCheck - Retrofit, Room, Hilt MVVM project. Get JSON from reqres.in by Retrofit, fill data into created Room database, show in RecycleView list NY Times - New app built using MVVM and Hilt
NY Times - New app built using MVVM and Hilt

NYTimes A simple app to hit the NY Times Most Popular Articles API and show a li

🎯 Einsen is a prioritization app that uses Eisenhower matrix technique as workflow to prioritize a list of tasks & built to Demonstrate use of Jetpack Compose with Modern Android Architecture Components & MVVM Architecture.
🎯 Einsen is a prioritization app that uses Eisenhower matrix technique as workflow to prioritize a list of tasks & built to Demonstrate use of Jetpack Compose with Modern Android Architecture Components & MVVM Architecture.

🎯 Einsen Einsen is a prioritization app that uses Eisenhower matrix technique as workflow to prioritize a list of tasks & built to Demonstrate use of

Owner
Ali Assalem
Software Engineer, interested in Developing Android | Ios Apps with java & kotlin (native) and Flutter
Ali Assalem
MVVM ,Hilt DI ,LiveData ,Flow ,Room ,Retrofit ,Coroutine , Navigation Component ,DataStore ,DataBinding , ViewBinding, Coil

MVVM ,Hilt DI ,LiveData ,Flow ,Room ,Retrofit ,Coroutine , Navigation Component ,DataStore ,DataBinding , ViewBinding, Coil

Ali Assalem 12 Nov 1, 2022
A simple Android Application with MVVM Architecture, Coroutine, Retrofit2

Retrofit with Coroutines and MVVM Architecture. A simple Android Application with MVVM Architecture Developed Using LiveData. MVVM Architecture. Retro

Ahmed Eid 0 Oct 12, 2021
simple app used Kotlin MVVM Dagger2 Room Coroutines Retrofit2

Exhibits Application which retrieves data from Webserver (via Retrofit), saves it into Room and get from it if user is offline. There are applying MVV

Ahmed Eid 0 Oct 14, 2021
Movies App by MVVM, Coroutines, Retrofit,, Navigation Component, ExoPlayer, Coil and Firebase

Show-Time Movies App by MVVM, Coroutines, Retrofit, Navigation Component, ExoPlayer, Coil and Firebase Screens Home Movies Details Movies List Person

Hamdy Abd El Fattah 15 Dec 10, 2022
📝 A demo todo/notes app which demonstrates the use of MVVM architecture, Navigation Component Library, Room Database, LiveData, Coroutines

?? MyNotes A demo notes/todo app which demonstrates the use of MVVM architecture, Navigation Component Library, Room Database, LiveData, Coroutines et

Raghav Aggarwal 89 Dec 23, 2022
Android Jetpack MVVM Boilerplate. Integrated with Jetpack dependencies, Hilt, Room, Okhttp, Retrofit, etc.

Android Jetpack MVVM Boilerplate Android Jetpack MVVM Boilerplate a Jetpack based, MVVM boilerplate template project for Modern Android. Features Here

Johnny Miller 12 Jul 7, 2022
BaseDemo 是Android MVVM + Retrofit + OkHttp + Coroutine 协程 + 组件化架构的Android应用开发规范化架构

BaseDemo 是Android MVVM + Retrofit + OkHttp + Coroutine 协程 + 组件化架构的Android应用开发规范化架构,通过不断的升级迭代,目前主要分为两个版本,分别为分支 MVVM+Databinding 组件化版本,分支MVVM+Databinding+Single 单体版本。旨在帮助您快速构建属于自己的APP项目架构,做到快速响应上手,另外再长期的实践经验中汇总了大量的使用工具类,主要放在了项目 `lib_common` 组件中,以供大家参考使用。具体使用请开发者工具自己项目需求决定选择如何使用。

Huan Zhou 199 Dec 26, 2022
AAC MVVM + Clean Architecture + Coroutine Flow

GithubBrowser MVVM Clean Architecture Sample AAC MVVM + Clean Architecture + Coroutine Flow 본 샘플 프로젝트는 https://github.com/omjoonkim/GitHubBrowserApp 을

Jeonguk-JayDev 18 May 25, 2022
❤️ Android Ghibli using Hilt, Motion, Coroutines, Jetpack (ViewModel) based on MVVM architecture.

Glibhi ❤️ Android Ghibli using Hilt, Motion, Coroutines, Jetpack (ViewModel) based on MVVM architecture. Tech stack & Open-source libraries Minimum SD

Geovani Amaral 4 Aug 26, 2022
Simple Recipe/Dish list Android App that uses Compose, MVVM & Hilt.

Simple Recipe/Dish list Android App that uses Compose, MVVM & Hilt. This is the codebase that I am working on during my Youtube Live Stream (Link below...)

Benjamin Kadel 16 Oct 10, 2022