Android Sample Kotlin+ MVI + Jetpack compose + Coroutines + Retrofit + Hilt + Room + Navigation component

Overview

MVIComposeSample

Android Sample app to show user latest movies implementing MVI + Clean Architecture using kotlin & Jetpack compose following solid and clean code principles .

Latest Movies Loading Movie Details Liked Movie Details

The goal of this app is to show how to implement MVI design pattern with architecture components, clean architecture & Jetpack compose in Kotlin .

Tech stack:

Kotlin, MVI, Jetpack Compose(UI), Hilt, Retrofit, Room, Coroutines, Navigation-component, Package by feature.

Source Code representation :

  • database : Database for the favourite movies selected by user using Room.
  • di : Dependency injection modules supporting Hilt.
  • feature : Contains sub packages which represent the feature screens of the app and also MainActivity class handling navigation between fragment using navigation component.
  • movies : Main Screen with grid displaying all movies list.
  • detail : Detail screen displaying selected movie details & trailer list.
  • theme : Theme values generated by compose to use throughout the app ui.
  • utils : Base level viewModel and AppConstants class.

Each package is divided into multiple packages demonstrated as following.

  • composable : Contains the Composable functions responsible for drawing the UI.
  • data : Contains data layer which has remote data sources with repository implementation.
  • intent : Contains the intent class which hold actions from view to viewmodel.
  • state : Contains the uiState class that is responsible for representing the uiState in the composable function.
  • view : Contains the view layer (fragment/activities).
  • viewmodel : Contains the viewModel.

Please note that each developer has his own style in coding ,The goal is to implement the concepts of the design and architecting in the right way .

Contribution

Please feel free to make a pull request or fork.

Rate

If you find this repository useful please give it a star .

You might also like...
Simple app to consumer api movies with retrofit and save result in database with room using android jetpack
Simple app to consumer api movies with retrofit and save result in database with room using android jetpack

MoviesCompose Simple app to consumer api movies with retrofit and save result in database with room using android jetpack Instruccions Log Up in https

Sample of usage VisualFSM for Android application - Kotlin Coroutines, Jetpack Compose
Sample of usage VisualFSM for Android application - Kotlin Coroutines, Jetpack Compose

Sample of usage VisualFSM for Android application - Kotlin Coroutines, Jetpack Compose ENG | RUS VisualFSM is a Kotlin library that implements an MVI

A library that enables Safe Navigation for you Composable destinations when using Jetpack Compose Navigation

A library that enables Safe Navigation for you Composable destinations when using Jetpack Compose Navigation

🚀 Android project template with Compose, MVVM, Hilt and Navigation
🚀 Android project template with Compose, MVVM, Hilt and Navigation

compose-android-template An Android project template with MVVM, Hilt, Navigation and Compose ✍️ Author 👤 theapache64 Twitter: @theapache64 Email: the

This is a sample app(For beginners - App #2) built using Jetpack Compose. It demonstrates the concept of State Hoisting in Jetpack Compose.
This is a sample app(For beginners - App #2) built using Jetpack Compose. It demonstrates the concept of State Hoisting in Jetpack Compose.

JetBMICalculator This is a sample app(For beginners - App #2) built using Jetpack Compose. It demonstrates the concept of State Hoisting in Jetpack Co

🗻 Unopinionated, easy-to-use, and customizable Badge component for Jetpack Compose
🗻 Unopinionated, easy-to-use, and customizable Badge component for Jetpack Compose

Cobadge 🗻 Unopinionated, easy-to-use, and customizable Badge component for Jetpack Compose Getting started In this section I will walk you through th

ComposeImageBlurhash is a Jetpack Compose component with the necessary implementation to display a blurred image while the real image is loaded from the internet. Use blurhash and coil to ensure good performance.

compose-image-blurhash ComposeImageBlurhash is a Jetpack Compose component with the necessary implementation to display a blurred image while the real

Icontent - Jetpack Compose component to show all random content sended by Inmersoft guide backend

icontent IContent is a library that allows loading audio visual content generica

❤️ A heart-shaped toggle switch component built using Jetpack Compose
❤️ A heart-shaped toggle switch component built using Jetpack Compose

heart-switch A heart-shaped toggle switch component built using Jetpack Compose. Inspired by Tore Bernhoft's I heart toggle Dribbble shot and Anatoliy

Owner
Ahmed Atwa
Enthusiastic Android developer with 6 years of experience in developing and building robust apps following clean code principles and responsive UI .
Ahmed Atwa
Android App made by Jetpack Compose Components with Kotlin, MVVM Pattern, Multi Module, Navigation, Hilt, Coroutines, Retrofit and cached data by Room

Mobile Banking Android App made by Jetpack Compose Components with Kotlin, MVVM Pattern, Multi Module, Navigation, Hilt, Coroutines, Retrofit and cach

Yogi Dewansyah 13 Aug 31, 2022
A sample project in Kotlin to demonstrate Jetpack Compose, MVVM, Coroutines, Hilt, Room, Coil, Retrofit, Moshi, Leak Canary and Repository pattern

Jetpack-Compose-Boilerplate This repository contains a sample project in Kotlin to demonstrate Jetpack Compose, MVVM, Coroutines, Hilt, Room, Coil, Re

Areg Petrosyan 14 Dec 12, 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
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
An MVI project setup using Jetpack compose. This would be a good place to start learning Model View Intent (MVI) architecture for Android.

Compose-MVI An MVI project setup using Jetpack compose. This would be a good place to start learning Model View Intent (MVI) architecture for Android.

null 6 Jul 28, 2022
Kotlin, MVVM, Navigation Component, Hilt, Jetpack Compose, Retrofit2

What is this project? This course will replace my old java mvvm introduction: https://codingwithmitch.com/courses/rest-api-mvvm-retrofit2/. Watch the

Mitch Tabian 452 Jan 1, 2023
Kotlin-MVVM-RxJava-Hilt-Retrofit-Room

IMovie IMovie is a is a sample project that presents a modern approach to Android application development. The goal of the project is to combine popul

Reza Mahmoudi 6 Dec 12, 2022
Compose-navigation - Set of utils to help with integrating Jetpack Compose and Jetpack's Navigation

Jetpack Compose Navigation Set of utils to help with integrating Jetpack Compose

Adam Kobus 5 Apr 5, 2022
A Simple Blog App using Jetpack Compose, Flow, Navigation Compose, Room and Firebase

BlogCompose A Simple Blog App using Jetpack Compose, Flow, Navigation Compose, Room and Firebase Instructions Download your Firebase configuration fil

null 4 Oct 10, 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