All Projects → abhigit-hub → Base Mvvm

abhigit-hub / Base Mvvm

App built to showcase basic Android View components like ViewPager, RecyclerView(homogeneous and heterogeneous items), NavigationDrawer, Animated Vector Drawables, Collapsing Toolbar Layout etc. housed in a MVVM architecture

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Base Mvvm

Mvvmarms
Android MVVM Architecture Components based on MVPArms and Android Architecture Components.
Stars: ✭ 425 (+2261.11%)
Mutual labels:  rxjava2, rxandroid2, dagger2, mvvm, viewmodel, room, retrofit2, livedata
Mvvmframe
🏰 MVVMFrame for Android 是一个基于Google官方推出的Architecture Components dependencies(现在叫JetPack){ Lifecycle,LiveData,ViewModel,Room } 构建的快速开发框架。有了MVVMFrame的加持,从此构建一个MVVM模式的项目变得快捷简单。
Stars: ✭ 218 (+1111.11%)
Mutual labels:  dagger2, mvvm, viewmodel, room, architecture-components, retrofit2, livedata
News Sample App
A sample news app which demonstrates clean architecture and best practices for developing android app
Stars: ✭ 334 (+1755.56%)
Mutual labels:  rxjava2, dagger2, viewmodel, room, architecture-components, retrofit2, livedata
Wanandroid
🏄 基于Architecture Components dependencies (Lifecycles,LiveData,ViewModel,Room)构建的WanAndroid开源项目。 你值得拥有的MVVM快速开发框架:https://github.com/jenly1314/MVVMFrame
Stars: ✭ 410 (+2177.78%)
Mutual labels:  dagger2, mvvm, viewmodel, room, architecture-components, retrofit2, livedata
Pursuit-Core-Android
Pursuit Core Android
Stars: ✭ 45 (+150%)
Mutual labels:  room, recyclerview, dagger2, rxjava2, viewmodel, retrofit2, livedata
Fountain
Android Kotlin paged endpoints made easy
Stars: ✭ 175 (+872.22%)
Mutual labels:  rxjava2, dagger2, room, architecture-components, retrofit2, livedata, room-persistence-library
Retrokotlin
Simple Android app to show how unit testing with MockWebServer and Architecture Components (ViewModel + LiveData)
Stars: ✭ 55 (+205.56%)
Mutual labels:  rxjava2, dagger2, viewmodel, architecture-components, retrofit2, livedata
Githubprojectbrowser
This is a sample Android Project that is based on Clean Architecture
Stars: ✭ 64 (+255.56%)
Mutual labels:  dagger2, viewmodel, room, architecture-components, retrofit2, livedata
Tdcapp
Sample app which access the TDC (The Developer's Conference) REST API.
Stars: ✭ 55 (+205.56%)
Mutual labels:  rxjava2, mvvm, viewmodel, room, architecture-components, livedata
Superhero-App
🦸🏻‍♂️🦹🏻‍♀️Superhero app built with Kotlin, ViewModel, LiveData, ViewBinding, Room, and Hilt
Stars: ✭ 27 (+50%)
Mutual labels:  room, dagger2, viewmodel, retrofit2, livedata, architecture-components
Mvvmsmart
基于谷歌最新AAC架构,MVVM设计模式的一套快速开发库,整合ViewModel+Lifecycles+Navigation+DataBinding+LiveData+Okhttp+Retrofit+RxJava+Glide等主流模块,满足日常开发需求。使用该框架可以快速开发高质量、易维护的Android应用。 项目组会持续维护,请放心使用.欢迎Start并Fork交流.
Stars: ✭ 382 (+2022.22%)
Mutual labels:  rxjava2, mvvm, viewmodel, room, retrofit2, livedata
Android-Mvi-Starter
Android MVI Starter application
Stars: ✭ 19 (+5.56%)
Mutual labels:  dagger2, rxjava2, viewmodel, retrofit2, livedata, architecture-components
Simple-Notes-Kotlin-App
✍️ Simple Note Making App use mvvm architecture , dagger , coroutines and navigation component. Features includes 🗒️ create , edit and ❌ delete notes
Stars: ✭ 40 (+122.22%)
Mutual labels:  room, recyclerview, dagger2, viewmodel, livedata, architecture-components
Changedetection
Automatically track websites changes on Android in background.
Stars: ✭ 563 (+3027.78%)
Mutual labels:  dagger2, viewmodel, room, architecture-components, livedata, room-persistence-library
DaggerExoPlayer
This repository demonstrates ExoPlayer injection with Dagger2
Stars: ✭ 58 (+222.22%)
Mutual labels:  dagger2, rxjava2, viewmodel, retrofit2, architecture-components
Offlinesampleapp
Sample Offline-First MVVM app that uses Android Priority Job Queue, Room, Retrofit2, LiveData, LifecycleObserver, RxJava2, Dagger Android
Stars: ✭ 653 (+3527.78%)
Mutual labels:  rxjava2, mvvm, room, retrofit2, livedata
movies
An example approach for modularization, reactive clean architecture and persistancy.
Stars: ✭ 110 (+511.11%)
Mutual labels:  room, dagger2, retrofit2, livedata, architecture-components
flickr-android
A small sample app to showcase architecting app using Clean Architecture and MVVM
Stars: ✭ 25 (+38.89%)
Mutual labels:  room, dagger2, rxjava2, retrofit2, architecture-components
GithubApp-android-architecture
Let's learn a deep look at the Android architecture
Stars: ✭ 16 (-11.11%)
Mutual labels:  dagger2, rxjava2, viewmodel, retrofit2, livedata
Reactive Mvvm Android
My way to MVVM using KotlinX Coroutines and Android data-binding
Stars: ✭ 626 (+3377.78%)
Mutual labels:  mvvm, viewmodel, room, architecture-components, livedata

Android Architecture : base-mvvm

Inspiration mostly from the good works of Mindorks Open Source Project. But this app is tweaked a little on the navigation front and also houses a few more features, compared to the original app.

This repo is a sample application that implements MVVM architecture using ViewModel, RxJava2, Dagger2, Retrofit2, Room, LiveData and Butterknife. While there are several open sourced examples on MVVM using Data Binding library, this repo doesn't use Data Binding, instead uses Butterknife and LiveData to bind View and ViewModel together. (Original App uses Google's Data Binding library)
This repo uses Retrofit and Room library for network calls and database operations respectively (Original App uses FastAndroidNetworking and GreenDao).

Another highlight is that this repo also has Data Persistency unlike the original app.

Topics

What does this app do?

To sum up in one line, this app shows news feed(Open Source codes and Developer Blogs) to the consumer. Now, the idea is essentially the same but the manner in which it is served to the Consumer, differs(precisely 3).

Quick Glimpse

Home Screen Feed Screen Blog Details Screen Open Source Details Screen

Naive Attempt at Animated Vector Drawable

Chrome

APIs and Architectures Used

  1. Model View ViewModel Architecture
  2. RxJava/RxAndroid 2 for concurrency
  3. Dagger2 for managing the dependency tree and also for dependency injection
  4. Room library from AAC(from Google), for database operation
  5. ViewModel from AAC(from Google), for acting as intermediate stateholder for the View and Model in a lifecycle conscious way.
  6. LiveData from AAC(from Google), used in ViewModel and Room, so that the data flowing from Data layer to View layer happens due to the react nature of the LiveData.
  7. Retrofit2 library for network calls
  8. ButterKnife for View Injections
  9. Glide for Image Loading

I'm also looking at adding the following Libraries for future iterations:

  1. LeakCanary
  2. Mockito
  3. JUnit
  4. Bottom Sheets
  5. Shared Element Transition and Content Transition

Library reference resources

  1. RxJava2: https://blog.kaush.co/2017/06/21/rxjava1-rxjava2-migration-understanding-changes/
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].