RickAndMorty is an Android application developed in Kotlin that consumes the Rick and Morty API to display a list of characters and their details from the TV series.
The application has been built following these principles and patterns:
- Clean Architecture: The application follows the Clean Architecture principle to separate responsibilities into different layers, which facilitates code maintenance and scalability.
- Repository Pattern: The Repository Pattern is used to abstract the data access logic, allowing data sources to be changed without affecting the rest of the application.
- MVVM: The Model-View-ViewModel (MVVM) pattern is used to separate the user interface logic from the business logic.
- Hilt Dependency injection: Allows a class to receive its dependencies from an external source, rather than creating them internally.
- Flows: Flows are used to handle user interface events asynchronously.
- Coroutines: Coroutines are used to handle asynchronous operations and improve the efficiency of the application.
- Room: Room is used for data persistence in the application.
- Retrofit: Retrofit is used for calls to the Rick and Morty API.
- Testing: The application includes tests to ensure everything works as expected.
- Animations: They create a more polished and engaging interface, making interactions intuitive and enjoyable for users
![image](https://private-user-images.githubusercontent.com/86953862/323933174-5ea7fede-d4e8-43a5-b33c-2778f6dd41ac.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjAxMjM0MjYsIm5iZiI6MTcyMDEyMzEyNiwicGF0aCI6Ii84Njk1Mzg2Mi8zMjM5MzMxNzQtNWVhN2ZlZGUtZDRlOC00M2E1LWIzM2MtMjc3OGY2ZGQ0MWFjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MDQlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzA0VDE5NTg0NlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWRiZDZiNWIyNDg4YWYzOTVjZDgxOTBhZWQwZTEwNDVhZGI2MzNlNzUyOGU3MTQ2MTI3YWMwZjNhZDFjMjRkM2ImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.8ttuRaUqR80C9r6hNPsCjrP-T4Mv5QMNfQKI2WUcr-c)
![image](https://private-user-images.githubusercontent.com/86953862/323933239-8ed48d49-a349-422e-acba-9f3ce948fe9f.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjAxMjM0MjYsIm5iZiI6MTcyMDEyMzEyNiwicGF0aCI6Ii84Njk1Mzg2Mi8zMjM5MzMyMzktOGVkNDhkNDktYTM0OS00MjJlLWFjYmEtOWYzY2U5NDhmZTlmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MDQlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzA0VDE5NTg0NlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTJkYmVmYzEwN2UxODIxMjQ2ZWJlN2I5NzUzMjk5OWFlOTFmNWRiZjdlOTYwZjlhNTkwYjU4MmNhMWVjNzM0NzYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.NT2CqwTUIUFdGdzAueC0M2McO1p8AgcCB1g3YwuI9FM)