Android Demo App for League of legends's Champions based on MVVM design pattern

Overview

๐ŸŽ‰ LOL-Champs

If this project is useful, please give it a star โญ

A Android Sample App with champion information of the League of Legends(LOL) using Android Jetpack.

LOL-Champs is a small demo application based on modern Android application tech-stacks and MVVM architecture. Especially, This project focused on StateFlow, not LiveData, which is available with AAC DataBinding from the Android Studio Arctic fox version.

Also this project fetch data from the network and cache data into the local database.

๐ŸŽˆ Android Studio IDE setup

For development, the latest version of Android Studio is required. (At least Arctic Fox version)

๐Ÿ— Used Libraries

  • Foundation - Components for core system capabilities, Kotlin extensions and support for multidex and automated testing.
    • AppCompat - Degrade gracefully on older versions of Android.
    • Android KTX - Write more concise, idiomatic Kotlin code.
  • Architecture - A collection of libraries that help you design robust, testable, and maintainable apps. Start with classes for managing your UI component lifecycle and handling data persistence.
    • Data Binding - Declaratively bind observable data to UI elements.
    • Lifecycles - Create a UI that automatically responds to lifecycle events.
    • Room - Access your app's SQLite database with in-app objects and compile-time checks.
    • ViewModel - Store UI-related data that isn't destroyed on app rotations. Easily schedule asynchronous tasks for optimal execution.
  • UI
    • Material - Build beautiful, usable products using Material Components for Android
  • Third party and miscellaneous libraries

โœจ MAD Scorecard

mad_summary mad_kotlin

๐Ÿ›• Architecture

LOL-Champs is based on MVVM design pattern and repository pattern image

๐ŸŽก Change LOL's Version

LOL-Champs uses the LOL API to load data. If you want update the API version, update the value LOL_VERSION in the build.gradle file of the app module.

buildConfigField "String", "LOL_VERSION", '"11.16.1"' // change this version

๐Ÿ’ก Non-Goals

The focus of this project is on Android Jetpack and the Android framework. Thus, there are no immediate plans to implement features outside of this scope.

๐Ÿ“ท Screenshots

โ˜˜๏ธ License

Designed and developed by 2021 KimReady (JunBi Kim)

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
You might also like...
Android-splash-screen-demo - Sample application to demo the various features provided in android-splash-screen
Android-splash-screen-demo - Sample application to demo the various features provided in android-splash-screen

Android Splash screen API demo This is a sample application used to demonstrate the various features provided in android-splash-screen. More details c

OpenWeatherMap-API-Demo - Demo Android Application for OpenWeatherMap API

WeatherForecast Demo Android Application for OpenWeatherMap API Table of Content

A blogging mobile application built with Kotlin using MVC design pattern and Take some advantage of Jetpack , View & Data Binding It's a mimic for Tumblr application , But a little prettier than him ๐Ÿ˜‰
A blogging mobile application built with Kotlin using MVC design pattern and Take some advantage of Jetpack , View & Data Binding It's a mimic for Tumblr application , But a little prettier than him ๐Ÿ˜‰

A blogging mobile application built with Kotlin using MVC design pattern and Take some advantage of Jetpack , View & Data Binding It's a mimic for Tum

CMPLR-Native - A blogging mobile application built with Kotlin using MVC design pattern and Take some advantage of Jetpack , View & Data Binding
This repo contains sample mobile apps that implement contributor design pattern

This repo contains sample mobile apps that implement contributor design pattern. This design pattern was evolved to establish clean contracts for the developers and partners in Teams Mobile code base

MovieApp - Movie App using Clean Architecture with MVVM architectural pattern
MovieApp - Movie App using Clean Architecture with MVVM architectural pattern

MovieApp In this project, MovieDB API has been used to retrive movie data. Upcom

 A simple Pokedex App getting API with Retrofit, maintaining data using LiveData, and Material Design based on MVVM architecture
A simple Pokedex App getting API with Retrofit, maintaining data using LiveData, and Material Design based on MVVM architecture

PokedexApp Pokedex A simple Pokedex App getting API with Retrofit, maintaining data using LiveData, and Material Design based on MVVM architecture. Te

The Android application is a list of the most popular TV series written in Java using the mvvm pattern.
The Android application is a list of the most popular TV series written in Java using the mvvm pattern.

Tv show application The Android application is a list of the most popular TV series written in Java using the mvvm pattern. This project was written f

An Android base project building on MVVM Architecture Pattern. This can help you build new apps faster
An Android base project building on MVVM Architecture Pattern. This can help you build new apps faster

MVVM Explanation If you can't imagine what is MVVM, please read my medium article here first. It can fully explain the revolution of Software architec

Releases(v1.0.0)
Owner
JunBi Kim
Android, Kotlin, Java, and etc..
JunBi Kim
A mobile application to aid coaching and training on League of Legends

Matteo Vettosi's Android Template A simple template for myself to have all my current approaches to Android development at hand when creating a new ap

Matteo Vettosi 1 Oct 4, 2021
Football live time league tables

footballLiveScoresApp Football live scores App Football Mania Live scores gives results in competitions, players and teams from english leagues like p

Ro'ziboyev Ismoil 3 Apr 30, 2022
:octocat: A demo project based on MVVM architecture and material design & animations.

GithubFollows A simple demo project based on MVVM clean architecture and material design & animations. Architecture Specs & Open-source libraries Mini

Jaewoong Eum 288 Dec 25, 2022
๐ŸŽฌ A demo project for The Movie DB based on Kotlin MVVM architecture and material design & animations.

TheMovies A simple project for The Movie DB based on Kotlin MVVM clean architecture and material design & animations. How to build on your environment

Jaewoong Eum 420 Nov 29, 2022
๐ŸŽฌ A demo project using The Movie DB based on Kotlin MVVM architecture and material design & animations.

TheMovies2 A simple project using The Movie DB based on Kotlin MVVM architecture and material designs & animations. How to build on your environment A

Jaewoong Eum 450 Jan 2, 2023
It is a NBAApp developed by Kotlin. It uses MVVM design pattern, Coroutines, Retrofit and JetPack libraries like Room, Lifecycle, ViewBinding, DataBinding, Hilt and Navigation.

NbaApp It is a NBAApp developed by Kotlin. It uses MVVM design pattern, Coroutines, Retrofit and JetPack libraries like Room, Lifecycle, ViewBinding,

Tuna AteลŸ Koรง 2 Feb 26, 2022
Book Parking is a demo application based on MVVM architecture. The app allows users to booking parking slots, the app uses firebase for the backend.

Book Parking is a demo application based on MVVM architecture. The app allows users to booking parking slots, the app uses firebase for the backend.

Dheeraj Gupta 5 Dec 24, 2022
โ˜€๏ธ Wheater is a small demo application based on modern Android tech-stacks and MVVM architecture. โ›…

Wheater is a small demo application based on modern Android tech-stacks and MVVM architecture. Tech stack & Open-source libraries Minimum SDK level 19

null 2 Jan 17, 2022