All Projects β†’ SmartToolFactory β†’ Propertyfindar

SmartToolFactory / Propertyfindar

🏘 πŸŽƒ Real Estate Sample App with RxJava3+Coroutines Flow, Dynamic Feature Modules, Dagger Hilt, Offline First, ConcatAdapter, Animations and tests for Room, Retrofit, useCase and ViewModels with TDD.

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to Propertyfindar

Stocker
Stocker is a currency monitoring app. It offers instant currency rates of banks.
Stars: ✭ 38 (-71.43%)
Mutual labels:  clean-architecture, modularization, unit-testing, retrofit2, room-persistence-library
Posts Mvvm Daggerhilt Dynamic Feature Rxjava3 Flow Sample
Posts Api sample with Kotlin RxJava3/Coroutines Flow, Clean Architecture, Offline first/last with Room + Retrofit2, Dagger Hilt, Dynamic Feature Modules, Static Code Analysis, Gradle DSL, MockK+ MockWebServer with Test Driven Development including Api and Database tests
Stars: ✭ 41 (-69.17%)
Mutual labels:  offline-first, clean-architecture, retrofit2, room-persistence-library
Modular App Core
Core implementations for a modular Android App
Stars: ✭ 127 (-4.51%)
Mutual labels:  clean-architecture, modularization, retrofit2, room-persistence-library
Android Kotlin Mvi Cleanarchitecture
Android + Kotlin + Modularization + Gradle Depedency managment + Gradle written in Kotlin DSL + Custom Gradle Plugin + MVVM + MVI + Clean Architecture + Repository Pattern + Coroutines + Flows + Koin + Retrofit2 + ROOM + Kotlin-Android-Extension + KtLints
Stars: ✭ 187 (+40.6%)
Mutual labels:  clean-architecture, modularization, retrofit2, room-persistence-library
Kotlinmvparchitecture
Clean MVP Architecture with Dagger2 + Retrofit2 + Mockito + Fresco + EasiestGenericRecyclerAdapter using Kotlin. Added Unit Tests(Kotlin Tests)!
Stars: ✭ 143 (+7.52%)
Mutual labels:  clean-architecture, unit-testing, retrofit2
Android Kotlin Modulerized Cleanarchitecture
πŸš€ Example modularized android application with single activity written in Kotlin
Stars: ✭ 180 (+35.34%)
Mutual labels:  clean-architecture, modularization, room-persistence-library
Android-MVVM-News-App
MVVM News Application with clean code architecture & android jetpack components.
Stars: ✭ 38 (-71.43%)
Mutual labels:  clean-architecture, retrofit2, room-persistence-library
BESTV
Android TV App powered by TMDb. It is a easy way to find the best TV content, the top movies, series... all of that in your TV.
Stars: ✭ 49 (-63.16%)
Mutual labels:  clean-architecture, retrofit2, modularization
movies
An example approach for modularization, reactive clean architecture and persistancy.
Stars: ✭ 110 (-17.29%)
Mutual labels:  clean-architecture, retrofit2, modularization
Clean-MVVM-NewsApp
Android News app developed using Clean + MVVM architecture
Stars: ✭ 52 (-60.9%)
Mutual labels:  clean-architecture, retrofit2, room-persistence-library
FootballNews2
Personal Android project for Football daily updates
Stars: ✭ 16 (-87.97%)
Mutual labels:  clean-architecture, retrofit2, modularization
Android Mvp Architecture
MVP + Kotlin + Retrofit2 + Dagger2 + Coroutines + Anko + Kotlin-Android-Extensions + RX-java + Mockk + Espresso + Junit5
Stars: ✭ 82 (-38.35%)
Mutual labels:  clean-architecture, unit-testing, retrofit2
Clean Notes
Clean Architecture by layer
Stars: ✭ 259 (+94.74%)
Mutual labels:  clean-architecture, retrofit2, room-persistence-library
Kotlinrxmvparchitecture
Clean MVP Architecture with RxJava + Dagger2 + Retrofit2 + Mockito + Fresco + EasiestGenericRecyclerAdapter using Kotlin. Includes Unit Tests(Kotlin Tests)!
Stars: ✭ 94 (-29.32%)
Mutual labels:  clean-architecture, unit-testing, retrofit2
Android Kotlin Mvp Clean Architecture
Clean architecture blueprint using Kotlin and MVP pattern.
Stars: ✭ 105 (-21.05%)
Mutual labels:  clean-architecture, retrofit2, room-persistence-library
Kotlin Modular Tdd Coroutines Mvvm
A sample Kotlin app which was built with modular structure, Kotlin DSL, Kotlin Coroutines, TDD and MVVM patterns.
Stars: ✭ 256 (+92.48%)
Mutual labels:  clean-architecture, modularization, retrofit2
Offlinesampleapp
Sample Offline-First MVVM app that uses Android Priority Job Queue, Room, Retrofit2, LiveData, LifecycleObserver, RxJava2, Dagger Android
Stars: ✭ 653 (+390.98%)
Mutual labels:  offline-first, clean-architecture, retrofit2
Android Architecture Components Kotlin
Clean code App with Kotlin and Android Architecture Components
Stars: ✭ 23 (-82.71%)
Mutual labels:  clean-architecture, retrofit2, room-persistence-library
Food Ordering App Like Swiggy Uber Eats Mvvm And Room Database
Food ordering app using MVVM architecture patterns, Architecture Lifecycle components and Room database.
Stars: ✭ 53 (-60.15%)
Mutual labels:  retrofit2, room-persistence-library
Mockstar
Demo project on How to be a Mockstar using Mockito and MockWebServer.
Stars: ✭ 53 (-60.15%)
Mutual labels:  unit-testing, retrofit2

🏘 Real Estate App with MVVM Clean Architecture RxJava3+Coroutines Flow, Static Code Analysis, Dagger Hilt, Dynamic Features

ktlint Kotlin Version API

Note: ⚠️ Augmented Reality and maps COMING SOON‼️ After Notification, Account and Search modules are completed

About

Sample project that build with MVVM clean architecture and various cool techs including RxJava3 and Coroutines Flow, Dynamic Feature modules as base of BottomNavigationView or ViewPager2, with both OfflineFirst and OfflineLast approaches as database Single Source of Truth Merge Adapter, ViewBinders for setting inner RecyclerViews, RecycledViewPools, SavedStateHandle, and more.

Unit tests are written with JUnit4, JUnit5, MockK, Truth, MockWebServer. Data(including for both RxJava and Coroutines tests for Room and Retrofit), Domain, and ViewModel tests in Home module are written with Test Driven Development.

Flow RxJava3 Pagination
Dashboard Notification Account

πŸ€“ Overview

  • Gradle Kotlin DSL is used for setting up gradle files with buildSrc folder and extensions.
  • KtLint, Detekt, and Git Hooks is used for checking, and formatting code and validating code before commits.
  • Dagger Hilt, Dynamic Feature Modules with Navigation Components, ViewModel, Retrofit, Room, RxJava, Coroutines libraries and dependencies are set up.
  • features and libraries folders are used to include android libraries and dynamic feature modules
  • In core module dagger hilt dependencies and @EntryPoint is created
  • Data module uses Retrofit and Room to provide Local and Remote data sources
  • Room database has many-to-many and one-to many relation with Junction/Association table.
  • Repository provides offline and remote sources and mappers, local save, delete and fetch functions
  • Domain module uses useCase classes to implement business logic to fetch and forward data
  • ViewModel uses LiveData with data-binding to display LOADING, and ERROR or SUCCESS states.
  • Home dynamic feature module has a ViewPager2 that hosts property lists
  • Dashboard module contains list with different type of layouts using ViewBinder classes, and Recommendations based on users history and ConcatAdapter to merge different type of Adapters.

Built With πŸ› 

Some of the popular libraries and MVVM clean architecture used with offline-first and offline-last with Room database and Retrofit as data source

  • Kotlin - First class and official programming language for Android development.

  • Coroutines - Threads on steroids for Kotlin

  • Flow - A cold asynchronous data stream that sequentially emits values and completes normally or with an exception.

  • RxJava3 - Newest version of famous reactive programming library for Java, and other languages

  • Android JetPack - Collection of libraries that help you design robust, testable, and maintainable apps.

    • LiveData - Data objects that notify views when the underlying database changes.
    • ViewModel - Stores UI-related data that isn't destroyed on UI changes.
    • DataBinding - Generates a binding class for each XML layout file present in that module and allows you to more easily write code that interacts with views.
    • Navigation Components Navigate fragments as never easier before
    • Dynamic Feature Modules Dynamic modules for adding or removing based on preference
    • SavedStateHandle A handle to saved state passed down to androidx.lifecycle.ViewModel. You should use SavedStateViewModelFactory if you want to receive this object in ViewModel's constructor.
    • Room Persistence library provides an abstraction layer over SQLite to allow for more robust database access while harnessing the full power of SQLite.
  • Material Components for Android - Modular and customizable Material Design UI components for Android.

  • Dependency Injection -

    • Hilt-Dagger - Standard library to incorporate Dagger dependency injection into an Android application.
    • Hilt-ViewModel - DI for injecting ViewModel.
  • Retrofit - A type-safe HTTP client for Android and Java.

  • Glide - Image loading library.

  • ConcatAdapter RecyclerView adapter which enables you to sequentially combine multiple adapters to be displayed in a single RecyclerView.

  • Lottie - Animation library from AirBnB

  • MpChart - ⚑️ MPAndroidChart is a powerful & easy to use chart library for Android ⚑️

  • Chucker - OkHttp interceptor providing a UI for inspecting and sharing their content.

  • Architecture

  • Tests

  • Gradle

Modularaization, Library and Feature Modules

Uses both library modules and dynamic feature modules

Architecture

Uses concepts of clean architecture

Data Module

Domain Module

Database and Table Relations with Junction Table

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].