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.
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.
To run this project locally, follow these steps:
-
Clone the repository:
git clone https://github.com/sberg413/RickMorty.git cd RickMorty
-
Open the project in Android Studio:
- Ensure you have the latest version of Android Studio installed.
- Build and run the app:
- Connect an Android device or start an emulator.
- Click "Run" in Android Studio or use the ./gradlew assembleDebug command.
This project was created by Steve Bergamini, a passionate Android developer specializing in Kotlin, Jetpack Compose, and Android architecture best practices.