Skip to content

This repository contains a sample app that implements MVVM architecture using Dagger2, RxJava2, Retrofit Library. Application is developed in Kotlin.

Notifications You must be signed in to change notification settings

prbale/MVVMDemoApp

Repository files navigation

Android MVVM Architecture: Sample App

Screenshots

Programming Practices Followed

  1. Android Architectural Components
  2. Dagger 2 for Dependency Injection
  3. MVVM & LiveData
  4. Retrofit with Okhttp
  5. Repository Pattern
  6. Coroutine, Coroutine Flow
  7. DataBinding
  8. JUnit and Mockito for Unit Testing - Pending ( In Future )

Branches

There are different branches as per the practices followed, namely:

Package Structures

com.bale.demoapplication # Root Package
├── constants            # Api and Application related constants
├── data                 # For data modeling layer
│   ├── model            # Data classes
│   └── repository       # Repository and dependent classes
|
├── dependencyinjection  # Dependency injection modules
│   ├── builder          # Activity and Fragment Builder Modules
│   ├── component        # Application Component
│   └── module           # Other Modules used for DI
|       └── viewmodel    # ViewModel Module and dependent classes
│
├── extension            # Kotlin extensions
|
├── listeners            # Listeners
|
├── ui                   # Fragment / View layer
│   ├── base             # Base Classes for Activity and Fragment
│   ├── dealDetails      # Detail screen Fragment and ViewModel
│   ├── dealList         # List screen Fragment and ViewModel
│   ├── profile          # Profile screen Fragment and ViewModel
│   └── MainActivity     # Parent Activity
|
└── DealsApplication     # Application Class

Contributing and reporting issues

You can to contribute in this repository. Just make pull request.

I appreciate any question or comment.

About

This repository contains a sample app that implements MVVM architecture using Dagger2, RxJava2, Retrofit Library. Application is developed in Kotlin.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages