Gods Unchained Demo With Kotlin

Overview

Gods Unchained Demo

This app allows you to view a page of Gods Unchained cards and highlight a specific one to see a larger version in Shadow quality instead of plain. You can also filter the cards by name and effect.

Architecture

Dependency injection (Hilt) is used to separate the networking dependency, allowing the entire user flow and business logic to be unit tested by the ViewModel. Coroutines are used to handle threading with the Default dispatcher being injected into the ViewModel so it can be replaced with a test dispatcher.

The UI is built in Jetpack Compose, the latest UI framework which was released to stable this year. The image loading is being handled by a third party library Coil.

The networking is done using Retrofit which could also be altered to use protobufs instead of the JSON response currently being used.

For testing MockK is used to mock the dependencies (Repository) injected into the ViewModel and verify the correct interactions are made. Coroutines testing is also leveraged to be able to pause and resume the dispatchers to test the states inbetween processing.

device-2021-11-03-204234

device-2021-11-03-213020_Trim.mp4
You might also like...
Quarkus Sample Application with extensions cache, kotlin, rest client, resteasy and smallrye

quarkus-sample Project This project uses Quarkus, the Supersonic Subatomic Java Framework. If you want to learn more about Quarkus, please visit its w

Starter code for the first independent project for Android Basics in Kotlin

Project: Lemonade App - Starter Code Starter code for the first independent project for Android Basics in Kotlin Introduction This is the starter code

Starter code for Android Kotlin Fundamentals Codelab 7.4 Interacting with RecyclerView items

TrackMySleepQuality with RecyclerView - Starter Code for 7.4 Starter code for Android Kotlin Fundamentals Codelab 7.4 Interacting with RecyclerView it

ROOM Database Example with MVVM in Kotlin[Fragments,Navigation]

RoomDatabase_SampleApp Room Database Sample App Overview Of This Room Database Application In this app, we can do operation on room database | Insert,

ListView Example with custom Adapter Using Kotlin in Android Studio
ListView Example with custom Adapter Using Kotlin in Android Studio

Kotlin-ListView ListView Example with custom Adapter Using Kotlin in Android Studio Steps to follow : Build ListView with Custom Adapter in Kotlin Add

Starter code for the second independent project for Android Basics in Kotlin.

Dogglers - Starter Code Starter code for the second independent project for Android Basics in Kotlin. Introduction This is the starter code for the Do

Starter code for the second independent project for Android Basics in Kotlin

Dogglers - Starter Code Starter code for the second independent project for Android Basics in Kotlin. Introduction This is the starter code for the Do

Fotos de marte - Ejercicio unidad 4 (Android Basics with Kotlin)

MarsPhotos - Starter Code Starter code for Android Basics in Kotlin. Introduction Using this stater code you will create MarsPhotos is a demo app that

Android Trivia Starter With Kotlin

AndroidTriviaFragment - solution code This app is the solution code for Android Kotlin Fundamentals codelab 3.1: Create and add a fragment. The app is

Owner
Dom Murray
Dom Murray
This project was created as a demo project for implementing latest frameworks, Android APIs, tools, and techniques.

IWeather Android Application This project was created as a demo project for implementing latest frameworks, Android APIs, tools, and techniques. It fo

Ali Mansour 9 Dec 30, 2022
MVVM(Model View ViewModel) sample in Kotlin using the components ViewModel, LiveData and Retrofit library

kotlin-mvvm Languages: English, Spanish MVVM(Model View ViewModel) sample in Kotlin using the components ViewModel, LiveData, the libraries Retrofit,

Eduardo José Medina Alfaro 466 Jan 5, 2023
Android Viper template with Kotlin, Dagger 2, Retrofit & RxJava

Android VIPER Architecture Example This repository contains a detailed sample client-server app that implements VIPER(View-Interactor-Presenter-Entity

OmiSoft 33 Nov 4, 2022
📚 Sample Android Components Architecture on a modular word focused on the scalability, testability and maintainability written in Kotlin, following best practices using Jetpack.

Android Components Architecture in a Modular Word Android Components Architecture in a Modular Word is a sample project that presents modern, 2020 app

Madalin Valceleanu 2.3k Dec 30, 2022
💖组件化+Jetpack+Kotlin+MVVM项目实战,涉及Jetpack相关组件,Kotlin相关技术,协程+Retrofit,Paging3+Room等。

组件化+Jetpack+Kotlin+MVVM 一、项目简介 该项目主要以组件化+Jetpack+MVVM为架构,使用Kotlin语言,集合了最新的Jetpack组件,如Navigation、Paging3、Room等,另外还加上了依赖注入框架Koin和图片加载框架Coil。 网络请求部分使用OkH

fuusy 502 Dec 28, 2022
📌This repo contains the kotlin implementation of TensorflowLite Example Android Apps🚀

TensorflowLite Examples Kotlin This repo contains the kotlin implementation of TensorflowLite Example Apps here, which are mostly implemented in java

Sunit Roy 29 Jan 1, 2023
NotesApp is a project which demonstrates the power of Kotlin's Ktor in developing powerful REST APIs with all basic as well as advanced features.

NotesApp NotesApp is a project which demonstrates the power of Kotlin's Ktor in developing powerful REST APIs with all basic as well as advanced featu

Rooparsh Kalia 1 Oct 18, 2021
eCommerce app developed with Android Jetpack and Kotlin

garden-shed eCommerce app developed with Android Jetpack and Kotlin This is my first mobile application. Garden Shed is a simple application for buyin

null 2 Nov 1, 2022
This is the toy app for Lesson 9 of the Android App Development in Kotlin course on Udacity.

Behind the Scenes - DevByte Viewer App This is the toy app for Lesson 9 of the Android App Development in Kotlin course on Udacity. DevByte DevByte Vi

Jaime 1 Oct 20, 2021
An example Android Application to test out Kotlin development in Adndroid

AndroidDiceGenerator This is an example Android Application to test out Kotlin development in Adndroid. On pressing a button, the application generate

Fredrick Ojure 0 Oct 28, 2021