LOL Champs Save

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

Project README

πŸŽ‰ 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.
Open Source Agenda is not affiliated with "LOL Champs" Project. README Source: KimReady/LOL-Champs

Open Source Agenda Badge

Open Source Agenda Rating