Skip to content

This app follows MVVM architecture and uses Coroutines, Flow & LiveData with Android Architecture Components. It has a single-activity architecture with Jetpack Navigation and uses Android Hilt for dependency injection. Retrofit, Moshi, and Glide are used for networking and media management.

Notifications You must be signed in to change notification settings

mustfaunlu/RickandMorty

Repository files navigation

Rick and Morty Location and Character App

Description

This is an app that displays Rick and Morty locations and characters. Users can view a list of locations and characters, and click on a location to view the characters associated with that location. They can also click on a character to view more details about that character.

Tasks

Task 1: Basic Application Setup

  • A functional basic application will be prepared.

Task 2: Splash Screen Development

  • This page should only be displayed at startup.
  • It should contain an animation or an image that introduces the application.
  • There should be a welcome message on the page. When the user opens the application for the first time, it should say "Welcome!". In subsequent launches, it should say "Hello!".

Task 3: Home Page Creation

  • The page should consist of a title/logo, a scrolling horizontal list, and a vertical list.

Task 4: Populating the Scrolling List

Task 5: Populating the Vertical List

Task 6: Differentiating Items in the Vertical List

  • Item designs should vary based on the gender of the listed characters: male, female, genderless, or unknown (as seen in the mockup).

Task 7: Adding Detail Pages

  • The page with the provided design should be developed.
  • Clicking on an item in the vertical list should open this page.

Task 8: Adding Lazy Load to the Scrolling List

  • When the horizontal list on the main page is scrolled to the end (right), the next page should be loaded.
  • A loading item should be added to the end of the list during loading.

App videos Portrait/Landscape (PIXEL XL API 33)

app.mp4

Tech stack & Open-source libraries

  • 100% Kotlin based + Coroutines and Flow & LiveData

  • Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.

    • A single-activity architecture, using the Jetpack Navigation to manage transactions.
    • Lifecycle - perform an action when lifecycle state changes
    • ViewModel - Stores UI-related data that isn't destroyed on UI changes.
    • Repository - Located in data layer that contains application data and business logic.
    • ViewBinding & DataBinding - allows you to more easily write code that interacts with views.
  • Android Hilt - Dependency Injection Library

  • Retrofit A type-safe HTTP client for Android and Java

  • Moshi - A modern JSON library for Android and Java.

  • Glide Glide is a fast and efficient open source media management and image loading framework for Android that wraps media decoding, memory and disk caching, and resource pooling into a simple and easy to use interface.

Architecture

This app uses MVVM (Model View View-Model) architecture

API

This app uses the Rick and Morty API to get the data.

About

This app follows MVVM architecture and uses Coroutines, Flow & LiveData with Android Architecture Components. It has a single-activity architecture with Jetpack Navigation and uses Android Hilt for dependency injection. Retrofit, Moshi, and Glide are used for networking and media management.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages