Example Jetpack Compose Android App, that uses the newest mechanisms, like StateFlow, SharedFlow, etc. to manage states and handle events. ViewModel, UI and Screenshot tests included :)

Overview

AndroidMVIExample

Example Jetpack Compose Android App, that uses the newest mechanisms, like StateFlow, SharedFlow, etc. to manage states and handle events. ViewModel, UI and Screenshot tests included :)

Architecture

  • Clean Architecture
  • Jetpack Compose
  • MVI
  • Flows

Stack

  • Kotlin
  • Coroutines
  • Architecture Components
    • Jetpack Compose
    • ViewModel
    • Room
    • Paging
  • Koin (Dependency Injection)

Firebase

  • Analytics
  • Crashlytics

Testing

  • Unit tests
    • ViewModel and Bussiness logic tests
    • Junit 4
    • Mockito-Kotlin
    • Google Truth
  • UI tests
    • Using createComposeRule for composable tests
    • Robot pattern
  • Screenshot tests
    • node.captureToImage().asAndroidBitmap() for taking composables screenshots
    • Custom gradle tasks for pulling screenshots from the device
    • Run UI tests on Android Emulator API 30 without Google Play! (Google APIs is OK)

License

Copyright 2021 Patryk Marciszek-Kosieradzki

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...
Scrobble is a wip music tracking and browsing app. It uses the Lastf.fm and spotify APIs to deliver data. The whole UI is created using Jetpack compose.
Scrobble is a wip music tracking and browsing app. It uses the Lastf.fm and spotify APIs to deliver data. The whole UI is created using Jetpack compose.

Scrobble (WIP, name not final) Scrobble is a wip music tracking and browsing app. It uses the Lastf.fm API to realize music tracking and browsing and

đź’» A Compose Desktop project template with MVVM, Dagger, Decompose, tests, and more...
đź’» A Compose Desktop project template with MVVM, Dagger, Decompose, tests, and more...

compose-desktop-template A compose desktop project template with MVVM, Dagger, Decompose and more ✨ Demo What's included? Architecture (MVVM) with And

Gmail clone project, that uses Jetpack Compose to draw UI content for gmail home screen
Gmail clone project, that uses Jetpack Compose to draw UI content for gmail home screen

Gmail clone project, that uses Jetpack Compose to draw UI content for gmail home screen following Udemy course: Android 12 Jetpack Compose Developer Course - From 0 To Hero

An example concepts of MVVM and Kotlin. Display, Filter & Sort the given restaurants from assets with Jetpack Compose and AAC Forget about bunch of XML files for maintaining UIs. Jetpack Compose is Android’s modern toolkit for building native UI. Here is a small example to get started.
Forget about bunch of XML files for maintaining UIs. Jetpack Compose is Android’s modern toolkit for building native UI. Here is a small example to get started.

Jetpack Compose Sample Description This repository is to get started with new Jetpack Compose Toolkit for Android. By using Jetpack Compose you no nee

LinkU-Android - Jetpack Compose example.

LinkU-Android - Jetpack Compose example.

Jetpack Compose Desktop Galaxy Example
Jetpack Compose Desktop Galaxy Example

Compose-StarWars Compose-StarWar 3D Space particle System build using Canvas API Jetpack Compose Desktop 🚀 How to Run From gradle tab from right-hand

Safaricom internal session  on Server driven Ui. This is an example of Server driven UI with jetpack Compose
Safaricom internal session on Server driven Ui. This is an example of Server driven UI with jetpack Compose

Jetpack Compose Server Driven UI Server Driven UI This is a demo application for a session at Safaricom to demostrate Server driven UI using Jetpack C

Example from effect Rain Matrix with Jetpack Compose
Example from effect Rain Matrix with Jetpack Compose

MatrixRainCompose Example from effect Rain Matrix with JetpackCompose For more i

Comments
  • observeInLifecycle is deprecated

    observeInLifecycle is deprecated

    for dealing with StateFlows now, it is recommended to use flowWithLifeCycle instead of observeInLifecycle, as this last one has been deprecated. Looking forward to see an update to your example repo, it has served me well.

    opened by naj147 1
Owner
Patryk Kosieradzki
Android Developer
Patryk Kosieradzki
Navigation-Compose - A sample to showcase Kotlin, MVVM, Hilt, Coroutines, StateFlow, Jetpack compose

Navigation-Compose A sample to showcase Kotlin, MVVM, Hilt, Coroutines, StateFlo

Mohammadali Rezaei 6 Jul 13, 2022
Super Heroes Kata implemented using Jetpack Compose and Screenshot Testing.

KataSuperHeroes with Jetpack Compose We are here to learn about Jetpack Compose. We are going to use Jetpack Compose Testing Tools to interact with th

Karumi 18 Dec 15, 2022
Build a StateFlow stream using Jetpack Compose

Molecule Build a StateFlow or Flow stream using Jetpack Compose1. fun CoroutineScope.launchCounter(): StateFlow<Int> = launchMolecule { val count by

Cash App 1.3k Dec 29, 2022
Bonsai A batteries-included Tree View for Jetpack Compose

Bonsai A batteries-included Tree View for Jetpack Compose Features Multiplatform: Android, Desktop State-aware: changes in the tree will trigger recom

Adriel Café 198 Jan 8, 2023
FullMangement - an application that helps you manage your tasks effectively. built with the latest tachs like Compose UI, Jetpack libraries, and MVVM design pattern.

Full Management is an application that helps you manage your tasks effectively. built with the latest tachs like Compose UI, Jetpack libraries and MVVM design pattern.

Amr algnyat 4 Nov 1, 2022
android project themplate including network(retrofit), utils(image, permission, etc), etc

Template-Android When starting a new Android project, it is boring to write some codes such as permission verification, network interface creation, wh

null 2 Oct 29, 2022
A simple library for automatically animating between Compose states.

compose-autotransition Status: Experimental A simple library for automatically animating between Compose states. var scale by remember { mutableStateO

Zach Klippenstein 64 Oct 13, 2022
This is a simple video games discovery app showcasing UI using Jetpack Compose with Clean Architecture and also tests for composable UI.

Jetpack-Compose-Video-Games-Example ?? This is a simple video games discovery app showcasing UI using Jetpack Compose and also tests for composable UI

Ruben Quadros 60 Dec 27, 2022
Android weather app using Hilt, Coroutines, Retrofit, Jetpack (Compose, Room, ViewModel) based on MVVM architecture

Atmostate A weather app written with Jetpack Compose using OpenWeatherMap Get the APK Features offline caching fetching data for current user location

Ramzan Sheikh 114 Dec 5, 2022
đź“ť Note List app based on MVVM architecture (ViewModel, LiveData, Coroutines, Room and Jetpack Compose)

Note list app built with Jetpack Compose Download Go to the releases page to download the latest available apk. Screenshots Architecture Features Home

Marcos Paulo Farias 45 Dec 25, 2022