🧸 A demo Disney app using Jetpack Compose and Hilt based on modern Android tech stacks and MVVM architecture.

Overview

DisneyCompose


A demo Disney app using compose and Hilt based on modern Android tech-stacks and MVVM architecture. Fetching data from the network and integrating persisted data in the database via repository pattern.
Declarative UI version of the DisneyMotions using compose.


License API Build Status Medium Profile

Download

Go to the Releases to download the latest APK.

Screenshots

Tech stack & Open-source libraries

  • Minimum SDK level 21
  • 100% Kotlin based + Coroutines + Flow for asynchronous.
  • Hilt for dependency injection.
  • JetPack
    • Compose - A modern toolkit for building native Android UI.
    • Lifecycle - dispose observing data when lifecycle state changes.
    • ViewModel - UI related data holder, lifecycle aware.
    • Room Persistence - construct database.
    • App Startup - Provides a straightforward, performant way to initialize components at application startup.
  • Architecture
    • MVVM Architecture (Declarative View - ViewModel - Model)
    • Repository pattern
  • Material Design & Animations
  • Accompanist - A collection of extension libraries for Jetpack Compose.
  • Landscapist - Jetpack Compose image loading library with shimmer & circular reveal animations.
  • Orchestra-Balloon - Jetpack Compose tooltips library.
  • Retrofit2 & OkHttp3 - construct the REST APIs and paging network data.
  • Sandwich - construct lightweight http API response and handling error responses.
  • WhatIf - checking nullable object and empty collections more fluently.
  • Balloon - A lightweight popup like tooltips, fully customizable with arrow and animations.
  • Timber - logging.

Find this repository useful? ❤️

Support it by joining stargazers for this repository.
And follow me for my next creations! 🤩

License

Designed and developed by 2020 skydoves (Jaewoong Eum)

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.
Comments
  • Room version is not working so I changed

    Room version is not working so I changed

    Please complete the following information:

    • roomversion 2.3.0
    • Affected Device(s) [e.g. samsubg SM-N960N / pixel 4 api 31]

    Describe the Bug: 🍎 Execution failed for task ':app:kaptDebugKotlin'.

    A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptWithoutKotlincTask$KaptExecutionWorkAction java.lang.reflect.InvocationTargetException (no error message)

    Add a clear description about the problem. 🍏 I changed this and it is working !! 스크린샷 2022-07-05 오후 8 51 22

    Expected Behavior: 감사합니다 skydoves님 컨퍼런스 오픈하시면 참여하겠습니다 A clear description of what you expected to happen.

    opened by whathe-downtown 2
  • Build Error

    Build Error

    When I was building this project, I got the following error with no further details.

    * What went wrong:
    Execution failed for task ':app:kaptDebugKotlin'.
    > A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptWithoutKotlincTask$KaptExecutionWorkAction
       > java.lang.reflect.InvocationTargetException (no error message)
    

    BTW, I'm currently developing Compose projects and everything goes well.

    opened by maxwang967 2
  • Updated library for new android studio canary (Bumblebee)

    Updated library for new android studio canary (Bumblebee)

    Guidelines

    There was an update to android studio recently. The project is no longer built without updating the libraries. Updated libraries. I fixed everything but had to disable ImageBalloonAnchor.

    Types of changes

    • [ ] Breaking change
    opened by keygenqt 1
  • Bump Hilt to 2.39.1

    Bump Hilt to 2.39.1

    Guidelines

    Describe the big picture of your changes here to communicate to the maintainers why we should accept this pull request. If it fixes a bug or resolves a feature request, be sure to link to that issue.

    Types of changes

    What types of changes does your code introduce?

    • [ ] Bugfix (non-breaking change which fixes an issue)
    • [ ] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

    Preparing a pull request for review

    Ensure your change is properly formatted by running:

    $ ./gradlew spotlessApply
    

    Please correct any failures before requesting a review.

    opened by skydoves 0
  • BugFix - Removed Image Balloon on Poster, BackArrow Icon now works on click

    BugFix - Removed Image Balloon on Poster, BackArrow Icon now works on click

    Previously when the back arrow icon was pressed on the poster image, the balloon displayed at the bottom of the poster with the title of the movie. Now when the back arrow is pressed, it will go back to the previous screen. User could press the back arrow on the phone, but that defeated the purpose of the back arrow icon on the poster as well I felt.

    I should mention this is my first contribution too to an open source project outside of my own, but I felt I followed the directions to allow this fix. If not please let me know and I will listen to the feedback. Thank you.

    Guidelines

    Describe the big picture of your changes here to communicate to the maintainers why we should accept this pull request. If it fixes a bug or resolves a feature request, be sure to link to that issue.

    Types of changes

    What types of changes does your code introduce?

    • [x] Bugfix (non-breaking change which fixes an issue)
    • [ ] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

    Preparing a pull request for review

    Ensure your change is properly formatted by running:

    $ ./gradlew spotlessApply
    

    Please correct any failures before requesting a review.

    opened by blizzyblake278 0
  • added animated bottom navigation like original disneymotions app

    added animated bottom navigation like original disneymotions app

    added bottom navigation with animations like original disneymotions app https://github.com/skydoves/DisneyMotions also explained here https://medium.com/@thegoldycopythat/animated-bottom-navigation-in-jetpack-compose-af8f590fbeca

    opened by AbhinavChauhan97 0
Releases(1.0.5)
  • 1.0.5(Jul 16, 2022)

    🎉 A new version 1.0.5 has been released 🎉

    What's Changed

    • Migrate to Compose 02 by @skydoves in https://github.com/skydoves/DisneyCompose/pull/8
    • Remove LiveCoroutinesViewModel and implement viewModelIOContext by @skydoves in https://github.com/skydoves/DisneyCompose/pull/9
    • Bump compose 1.0.0 stable and landscapist to 1.3.0 by @skydoves in https://github.com/skydoves/DisneyCompose/pull/10
    • New Feature: Color Palette by @skydoves in https://github.com/skydoves/DisneyCompose/pull/11
    • Feature: GIF by @skydoves in https://github.com/skydoves/DisneyCompose/pull/12
    • Refactor: Migrate LiveData to StateFlow by @skydoves in https://github.com/skydoves/DisneyCompose/pull/13
    • Bump compose to 1.0.3 and landscapist to 1.3.7 by @skydoves in https://github.com/skydoves/DisneyCompose/pull/14
    • Cleanup Gradle file by @skydoves in https://github.com/skydoves/DisneyCompose/pull/15
    • Bump Hilt to 2.39.1 by @skydoves in https://github.com/skydoves/DisneyCompose/pull/16
    • Bump compose and dependencies by @skydoves in https://github.com/skydoves/DisneyCompose/pull/17
    • Refactor 1.0.3 by @skydoves in https://github.com/skydoves/DisneyCompose/pull/18
    • Bump compose to 1.1.0-beta03 and landscapist to 1.4.3 by @skydoves in https://github.com/skydoves/DisneyCompose/pull/20
    • Update dependencies and clean up Gradle by @skydoves in https://github.com/skydoves/DisneyCompose/pull/22
    • Bump Compose to 1.1.0 and landscapist & orchestra versions by @skydoves in https://github.com/skydoves/DisneyCompose/pull/23
    • Bump AGP, Landscapist, and Sandwich by @skydoves in https://github.com/skydoves/DisneyCompose/pull/24
    • Update Compose compiler to 1.2.0 and dependencies version by @skydoves in https://github.com/skydoves/DisneyCompose/pull/27
    • Generate Baseline Profiles for improving app performance by @skydoves in https://github.com/skydoves/DisneyCompose/pull/28

    Full Changelog: https://github.com/skydoves/DisneyCompose/compare/1.0.4...1.0.5

    Source code(tar.gz)
    Source code(zip)
    app-debug.apk(16.87 MB)
  • 1.0.4(Jun 18, 2021)

  • 1.0.3(May 3, 2021)

  • 1.0.2(Oct 10, 2020)

  • 1.0.1(Sep 30, 2020)

  • 1.0.0(Sep 17, 2020)

Owner
Jaewoong Eum
Android and open source software engineer.❤️ Digital Nomad. Love coffee, music, magic tricks, and writing poems. Coffee Driven Development
Jaewoong Eum
👨‍💻 A demonstration modern Android development project with Jetpack(Compose, Room, ViewModel, Navigation), Hilt and based on MVVM by using Open Sky API. ✈️ 🌍

A demonstration modern Android development project with Jetpack(Compose, Room, ViewModel, Navigation), Hilt and based on MVVM by using Open Sky API.

Ismail Oguzhan Ay 13 Dec 4, 2022
A demonstration modern Android development project with Jetpack(Compose, Room, Flow, ViewModel, Navigation), Hilt and based on MVVM by using Github API.

A demonstration modern Android development project with Jetpack(Compose, Room, ViewModel, Navigation), Hilt and based on MVVM by using Github API.

Murat 2 Apr 11, 2022
PokeCard Compose is a demo app 100% write in Compose, Flow and Koin based on MVI Clean Architecture 🐱⚡️

A Pokemon Card demo app using Jetpack Compose and Koin based on MVI architecture. Fetching data from the network with Ktor and integrating persisted data in Room database with usecase/repository pattern.

Lopez Mikhael 104 Nov 27, 2022
Demo Android application using Gradle. Project is written entirely in Kotlin with MVVM architecture

Demo Android application using Gradle. Project is written entirely in Kotlin with MVVM architecture, Dagger / Hilt Dependency Injection, Room Database and Retrofit API Calls

Dejan Radmanovic 1 Apr 6, 2022
Android sample app following best practices: Kotlin, Compose, Coroutines and Flow, Hilt, JetPack Navigation, ViewModel, MVVM and MVI, Retrofit, Coil

Foodies - Modern Android Architecture Foodies is a sample project that presents a modern 2021 approach to Android app development. The project tries t

null 362 Jan 2, 2023
A Demo App which demonstrate the capabilities for BeVigil OSINT demo API

BeVigil-OSINT-Demo A Demo App which demonstrate the capabilities for BeVigil OSINT demo API Functionalities Firebase Authentication

Daniel Dominic 0 May 17, 2022
A sample Android app that demonstrates how to use Firebase Authentication, Crashlytics, Cloud Firestore and Hilt with Jetpack Compose UI

showcase.mp4 Make it So This is a sample Android app that demonstrates how to use Firebase Authentication, Crashlytics, Cloud Firestore and Hilt with

null 107 Dec 31, 2022
A demo app to show how to detect screenshots taken by the user while using the app

Screenshot Detector A demo app to show how to detect screenshots taken by the user while using the app. Blog link Detect Screenshots in Android Screen

Nikit Bhandari 77 Dec 9, 2022
Demo app to showcase Sensor data using AIDL bound services.

AIDLServices Displays data related to TYPE_ROTATION_VECTOR sensor using AIDL Consist of aidlsdk module that expose sensor data Sample app to show the

Vikas Mane 3 May 26, 2021
A simple app demonstrates using Jetpack compose with other Jetpack libraries.

Android Pokemon Compose This repository is a simple app that make request to https://pokeapi.co and display them in the paginated lists. It demonstrat

BenBoonya 56 May 21, 2022
A demo application that uses TMDB APIs to fetch the movie details and cache it using the Room DB.

TMDB App Tmdb sample project is a demo application that is based on modern Android architectures. It will fetch the data from the network and cache it

Clint Paul 38 Nov 28, 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
A simple notes app to demo Room + LiveData implementation in Android

RoomDb-Sample This is a demo app on how to implement Room persistance library, making use of LiveData in Android app How to implement Room: a SQLite o

Anitaa Murthy 117 Dec 23, 2022
Viacheslav Veselov 0 Jul 8, 2022
A sample app showing how to build an app using the MVI architecture pattern.

MVI Example This application was streamed live on Twitch to demonstrate how to build an application using MVI. You can find the VOD here for now: http

Adam McNeilly 46 Jan 2, 2023
A simple chat demo for socket.io and Android

socket.io-android-chat This is a simple chat demo for socket.io and Android. You can connect to https://socket-io-chat.now.sh using this app. Installa

Naoyuki Kanezawa 1.9k Dec 30, 2022
Android common lib demo, include ImageCache, HttpCache, DropDownListView, DownloadManager, install apk silent and so on, you can find description

android-demo 关于我,欢迎关注 微博:Trinea 主页:trinea.cn 邮箱:trinea.cn#gmail.com 微信:codek2 依赖:trinea-android-common android-auto-scroll-view-pager viewpager-indica

Trinea 1.1k Nov 10, 2022
Check out the new style for App Design aims for the Vegetable Order Service using jetpack compose...😉😀😁😎

VegetableOrderUI-Android Check out the new style for App Design aims for the Vegetable Order Service using jetpack compose... ?? ?? ?? ?? Screenshots

Shashank Singhal 330 Dec 19, 2022
A demo of the power menu with Reveal and other animations

MaterialPowerMenu A demo of the power menu with Reveal and other animations Some days ago, I saw a gif on Google+ demonstating a concept of Android Po

Naman Dwivedi 888 Oct 11, 2022