Skip to content

Latest commit

 

History

History
79 lines (59 loc) · 4.29 KB

README.md

File metadata and controls

79 lines (59 loc) · 4.29 KB

Rick_and_Morty_characters

An Android app showing the Rick and Morty Characters by using the Rick and Morty API.

Issues Page Issues with labels filter

Youtube Logo

Direct download app

Table of Contents

Architecture

This project follows the MVVM (Model-View-ViewModel) architecture, which separates the UI, business logic, and data layers. Here's an overview of the architecture:

  • View: Implemented using Jetpack Compose, it displays UI components and interacts with the ViewModel.
  • ViewModel: Manages UI-related data and communicates with the repository.
  • Repository: Provides an abstraction over data sources (e.g., local database, remote API) and uses Paging 3 for efficient data loading.
  • Data Sources: Handles data retrieval from local Room Database and remote API using Coroutines and Flow.
  • Dependency Injection: Hilt is used for providing and managing dependencies.

Libraries Used

  • Jetpack Compose: A modern Android UI toolkit for building native user interfaces.
  • Hilt: A Dependency Injection library for Android that reduces boilerplate code.
  • Paging 3: A library for handling large datasets with automatic loading and caching.
  • Kotlin Coroutines: Used for asynchronous and non-blocking programming.
  • Kotlin Flow: A library for asynchronous data stream processing.
  • Room Database: An Android library for local database storage.
  • Retrofit: A type-safe HTTP client for making network requests.
  • Coil: An image loading library for Android.
  • Placeholder: A library for displaying placeholder content in Jetpack Compose.
  • Timber: A library for logging.
  • Gson: A library for JSON parsing.
  • Navigation Compose: A library for navigation in Jetpack Compose apps.

Getting Started

Follow these steps to run the project locally:

  1. Clone the repository: git clone https://github.com/almasud/Rick_and_Morty_characters.git
  2. Open the project in Android Studio or your preferred IDE.
  3. Build and run the app on an Android emulator or device.

Features

List the key features of your project, such as:

  • Character List Screen: Display the list of characters fetched from the Rick and Morty API. Each character item in the list should display relevant information (e.g., name, image, status).
  • Character Detail Screen: When a character item is clicked on the list, navigate to a detail screen. Display detailed information about the selected character (e.g., name, image, status, species, gender, origin, location).
Thank you all and happy codding...

Abdullah Almasud