Rick and Morty app is a to demonstrate tech stacks with a MVVM architecture.This app includes display data related to characters, episodes, and locations.
Splash | Login | Home | Detail | Status |
- Minimum SDK level 21
- 100% Kotlin based + Coroutines and Flow
- MVVM Architecture - Modern, maintainable, and Google suggested app architecture
- Material Design 3 is the latest version of Google’s open-source design system.
- Navigation Component - Single activity multiple fragments approach
- JetPack
- LiveData - Notify domain layer data to views.
- Lifecycle - Dispose of observing data when lifecycle state changes.
- Fragment-ktx - A set of Kotlin extensions that helps with fragment lifecycle.
- View Binding - Allows you to more easily write code that interacts with views
- ViewModel - UI related data holder, lifecycle aware.
- Architecture
- MVVM Architecture (View - DataBinding - ViewModel - Model)
- Repository pattern
- Clean Architecture approach.
- Hilt is a dependency injection library for Android
- Retrofit A type-safe HTTP client for Android and Java
- Gson Google Gson is of libraries for handling JSON objects
- Google Auth The project utilizes the Google Auth service for user authentication.
- MongoDB MongoDB is a document-based NoSQL database that provides a scalable and flexible database solution.
- Room Component It is a SQLite-based database solution that leverages Object Relational Mapping (ORM) principles to simplify database operations.
- Navigation Component - Single activity multiple fragments approach
- Coil - An image loading library for Android backed by Kotlin Coroutines
- Splash Screen
This app uses MVVM (Model View View-Model) architecture
The Rick and Morty project utilizes the Rick and Morty API, a comprehensive open API that provides data about characters, episodes, and locations from the Rick and Morty TV series.
Designed and developed by 2023 Hilalkrnz
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.