RickAndMorty Clean Architecture
The Rick And Morty app utilizes a Rick and Morty API to exhibit Characters. It has been developed following the principles of clean architecture, integrating the Repository Pattern and MVVM pattern, along with some Architecture Components.
App features:
- List of Rick and Morty characters
- Kotlin
- Coroutines - A coroutine is a concurrency design pattern that you can use on Android to simplify code that executes asynchronously
- Flow - Flow is used to pass (send) a stream of data that can be computed asynchronously
- Dagger-Hilt - for dependency injection.
- Kotlin-DSL - Used to handle gradle dependencies and config versions
- JetPack
- ViewModel - Stores UI-related data that isn't destroyed on UI changes.
- Data Binding - Used to bind UI components in your XML layouts.
- Material-Components - Material design components like ripple animation, cardView.
- Retrofit - Used for REST api communication.
- OkHttp - HTTP client that's efficient by default: HTTP/2 support allows all requests to the same host to share a socket
- Gson - A library that can be used to convert Java Objects into their JSON representation. It can also be used to convert a JSON string to an equivalent Java object.
- Glide - Glide is a fast and efficient image loading library for Android
This repository code is mostly inspired by Rick-and-Morty and News_MultiModule.