GitPedia

HarryPotter

πŸ§™πŸ» Sample HarryPotter application based on MVVM architecture (ViewModel, LiveData, Repository, Coroutines, Koin or Dagger-Hilt, Compose)

From hongbeomiΒ·Updated May 18, 2026Β·View on GitHubΒ·

Harry Potter Application is sample based on MVVM architecture. Fetch data from the network via repository pattern. The project is written primarily in Kotlin, distributed under the Apache License 2.0 license, first published in 2020. Key topics include: accompanist, android, compose, coroutines, dagger-hilt.

Latest release: v1.0.0β€” Version 1.0.0
April 14, 2020View Changelog β†’

<p align="center">Harry Potter</p>

<p align="center"> <img alt="api" src="https://img.shields.io/badge/API-21%2B-green?logo=android"/> <img alt="build" src="https://img.shields.io/github/workflow/status/hongbeomi/HarryPotter/Android%20CI/master"/> <img alt="license" src="https://img.shields.io/github/license/hongbeomi/FindTaek?color=blue&logo=apache"/> </p> <p align="center">Harry Potter Application is sample based on MVVM architecture.</br> Fetch data from the network via repository pattern.</p>

logo

<br>

⚑️ Download

Go to ths releases to download the APK

<img src="https://github.com/hongbeomi/HarryPotter/blob/master/preview/demo.gif" align="right" width="30%"></img>

<br>

πŸ™Œ Jetpack Compose

Check out the version migrated to Compose!

<br>

πŸ’‘ Stack & Libraries

  • Minimum SDK level 21
  • Kotlin based + Coroutines for asynchronous.
  • JetPack
    • LiveData -observable data holder class.
    • Lifecycle - Create a UI that automatically responds to lifecycle events.
    • ViewModel - UI related data holder, Easily schedule asynchronous tasks for optimal execution.
    • Compose - Modern toolkit for building native UI
  • Koin - dependency injection.
  • Dagger-Hilt - dependency injection.
  • App-StartUp - Initializing the app when it starts
  • Accompanist - A collection of extension libraries for Jetpack Compose
  • Retrofit2 - REST APIs.
  • OkHttp3 - implementing interceptor, logging web server.
  • Glide - loading images.
  • DiscreteScrollView - scrollable list of items.
  • Lottie - implementing animations
  • Material-Dioalog - material dialog.
<br>

πŸš€ Mad Scorecard

<img src="https://github.com/hongbeomi/HarryPotter/blob/master/mad_scorecard/summary.png"></img>

<img src="https://github.com/hongbeomi/HarryPotter/blob/master/mad_scorecard/kotlin.png"></img>

<br>

🍴 Stable Samples

SampleDescription
masterDependency injection with Koin
dagger-hiltDependency injection with Dagger-Hilt
app-startUpInitializing the app when it starts
composeModern toolkit for building native UI

πŸ’Ž Architecture

Harry Potter does not use a Local database.

architecture

<br>

✨ API

<br>

🌟 Find this project useful?

Support it by joining stargazers for this repository

<br>

πŸ“ License

Copyright 2020 Hongbeom Ahn

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. 

Contributors

Showing top 1 contributor by commit count.

View all contributors on GitHub β†’

This article is auto-generated from hongbeomi/HarryPotter via the GitHub API.Last fetched: 6/28/2026