Skip to content

ThuanPx/MVVM-Architecture

Repository files navigation

License API

Base project Android with Hilt, Coroutines, Flow, Jetpack (Room, ViewModel), and Material Design based on MVVM architecture.


Tech stack & Open-source libraries

  • Minimum SDK level 21
  • Kotlin based, Coroutines + Flow for asynchronous.
  • Hilt for dependency injection.
  • Jetpack
    • Lifecycle - Observe Android lifecycles and handle UI states upon the lifecycle changes.
    • ViewModel - Manages UI-related data holder and lifecycle aware. Allows data to survive configuration changes such as screen rotations.
    • ViewBinding - Is a feature that allows you to more easily write code that interacts with views. Once view binding is enabled in a module, it generates a binding class for each XML layout file present in that module. An instance of a binding class contains direct references to all views that have an ID in the corresponding layout.
    • Room Persistence - Constructs Database by providing an abstraction layer over SQLite to allow fluent database access.
  • Architecture
  • Retrofit2 & OkHttp3 - Construct the REST APIs.
  • Sandwich - Construct a lightweight and modern response interface to handle network payload for Android.
  • Gson - A modern JSON library for Kotlin and Java.
  • Glide - Loading images from network.
  • Timber - A logger with a small, extensible API.
  • Material-Components - Material design components for building ripple animation, and CardView.

License

Designed and developed by 2022 ThuanPx

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.