Skip to content

A simple games recommendation app to practice MVVM architectural pattern

Notifications You must be signed in to change notification settings

Sam-muigai/Gameify

Repository files navigation

Gameify

This is an android that fetches Games from freeToGame API.It allows one to check the recommendations based on categories.Also allows one to search for games.

WIP

I am migrating the whole project to KMP. You can switch to kmp-migration branch to follow along with the journey

Demo

You can download the application here.I will upload it to the Play Store later.

Loading Screen Home Screen Error Screen
Loading Screen Home Screen Error Screen
Search Screen Category Screen Game Screen
Search Screen Category Screen Game Screen

Model-View-ViewModel

MVVM is a software architectural pattern that separates the presentation logic (View) from the business logic (Model) and introduces a middle layer (ViewModel) to mediate communication between them. This design pattern promotes better code organization, testability, and maintainability of Android applications.

Tech Stack

  • The app is entirely written in Kotlin
  • Hilt - Hilt provides a standard way to use DI in your application by providing containers for every Android class in your project and managing their lifecycles automatically.
  • Jetpack Compose - Jetpack Compose is Android’s modern toolkit for building native UI. It simplifies and accelerates UI development on Android. Quickly bring your app to life with less code, powerful tools, and intuitive Kotlin APIs.
  • Coroutines - A concurrency design pattern that you can use on Android to simplify code that executes asynchronously.
  • Landscapist Image Loader - a Jetpack Compose image loading library which fetches and displays network images with Glide, Coil, and Fresco.
  • Retrofit - A type-safe REST client for Android and Java which aims to make it easier to consume RESTful web services.
  • Kotlin Flows - Aids in handling streams of data asynchronously which is being executed sequentially.
  • Moshi - a modern JSON library for Android, Java and Kotlin. It makes it easy to parse JSON into Java and Kotlin classes.
  • Timber - Timber is a logger with a small, extensible API. It provides utility on top of android's standard Log class.

About

A simple games recommendation app to practice MVVM architectural pattern

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages