Skip to content

sberg413/Rick-and-Morty

Repository files navigation

Rick & Morty Android App

This project, developed by Steve Bergamini, is a sample Android app that showcases characters from the popular show Rick and Morty. Using The Rick and Morty API, the app allows users to browse a list of characters and view detailed profiles. Built using modern Android architecture and best practices, this project demonstrates effective use of Jetpack Compose, MVVM, and other advanced features.

Build Status codecov

Rick and Morty Android App Features and Best Practices

This project demonstrates several development best practices, modern Android libraries, and architectural concepts, including:

  • MVVM Architecture: Ensures a clear separation of concerns and facilitates easier testing and maintenance.
  • Android Architecture Best Practices: Implements clearly defined & well structured UI, Domain, and Data layers.
  • S.O.L.I.D. Principles: Applies the S.O.L.I.D. principles for writing maintainable and scalable code.
  • Jetpack Compose: Leverages the latest Android UI toolkit for building native user interfaces with less code.
  • Architecture Components: Utilizes ViewModel and other Jetpack libraries for robust app structure.
  • Androidx Paging 3: Efficiently loads and displays paginated data from the API.
  • Room Database: Provides a seamless way to store and manage local data with SQLite.
  • Jetpack Navigation: Provides a consistent mechanism to navigate between destinations.
  • Hilt Dependency Injection: Simplifies dependency injection in the app.
  • Kotlin Coroutines and Flow: Manages asynchronous operations and data streams effectively.
  • Retrofit: Facilitates network requests to the Rick and Morty API.
  • Glide: Handles image loading and caching efficiently.
  • Material 3 Theming: Implements modern Material Design components and theming for a polished user experience.
  • Unit & Instrumentation Tests: Ensures code quality and reliability through comprehensive unit and instrumentation testing.
  • Jacoco Code Coverage: Measures and reports test coverage to help identify untested parts of the codebase.
  • CI/CD Workflows: Utilizes GitHub Actions to run tests, lint checks, and code coverage on all PRs.

This Rick and Morty Android app was developed by Steve Bergamini as a showcase of modern Android development techniques.

Rick and Morty Android App Screenshots

Rick and Morty Android App Main Light Theme

Rick and Morty Android App Character Detail Light Theme

Rick and Morty Android App Main Dark Theme

Rick and Morty Android App Character Detail Dark Theme

Rick and Morty Android App Getting Started

To run this project locally, follow these steps:

  1. Clone the repository:

    git clone https://github.com/sberg413/RickMorty.git
    cd RickMorty
  2. Open the project in Android Studio:

  • Ensure you have the latest version of Android Studio installed.
  1. Build and run the app:
  • Connect an Android device or start an emulator.
  • Click "Run" in Android Studio or use the ./gradlew assembleDebug command.

About the Developer

This project was created by Steve Bergamini, a passionate Android developer specializing in Kotlin, Jetpack Compose, and Android architecture best practices.

About

Rick & Morty Android App Interview Project for

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages