How to build an Android application using the Uncle Bob's Clean Architecture approach

Related tags

App weatherAPP
Overview

MVI-Clean-Architecture

This is a sample app & basic code that demonstrate how to build an Android application using the Uncle Bob's Clean Architecture approach.

The trick of the project is to demonstrate best practices, provide a set of guidelines, and present modern Android Application Architecture that is modular, scalable, maintainable and testable, suitable for bigger teams and long application lifecycle management.

Because it is an architectural project, UI has been kept simple. Sample data has been provided from Weather API

Flow

This app uses MVI (Model View Intent) architecture.

Modules

Modules are the collection of source files and build settings that allow you to divide your project into discrete units of functionality.

  • App Module

    :app module is an com.android.application, which is needed to create the app bundle. It contains dependency graph and UI related classes. It presents data to screen and handle user interactions.

  • Base Module

    :base module contains only framework related base classes that is used in other modules

  • Common Module

    :common module contains code and resources which are shared between other modules

  • Data Module

    :data module contains implementation of repository and local - remote repository interface adapt

  • Domain Module

    :domain module contains use cases and repository interface adapt

  • Local Module

    :local module contains local data source related classes

  • Remote Module

    :remote module contains remote data source related classes

  • Presentation Module

    :presentation module contains business logic

Each module has its own test.

Tech Stack

Contributions

You might also like...
A movies application built Using clean architecture and MVVM (Model-view-viewModel).
A movies application built Using clean architecture and MVVM (Model-view-viewModel).

Movies-App This is a movies application which fecthes upcoming and popular movies from the movie Database(TMBD). It is built Using clean architecture

This is a practical project for Professional Android Developers that covers clean Architecture basics using the following: skills: Real-like coding with Kotlin, MVVM Design pattern, Kotlin Coroutines, Room database, Navigation Controller, Jetpack compose, Use cases, and Dependency injection using Dagger-Hilt.
This project shows trending github repositories using MVI (Model View Intent) using kotlin flows and multi module clean architecture

GithubTrendingMVIFlow Build Architecture: This project shows trending github repositories using MVI (Model View Intent) using kotlin flows and multi m

NewsSpac-MVVM-CleanArch-TDD - The App uses MVVM architecture together with Clean architecture

Aplicativo NewsSpace Arquitetura O App utiliza a arquitetura MVVM em conjunto co

Android app built with MVP architectural approach and uses Marvel Comics API that allows developers everywhere to access information about Marvel's vast library of comics. :zap:
Android app built with MVP architectural approach and uses Marvel Comics API that allows developers everywhere to access information about Marvel's vast library of comics. :zap:

Villains & Heroes Android app built with MVP architectural approach and uses Marvel Comics API that allows developers everywhere to access information

This project consists in the approach of a bakery business, in which the user can book one or more products (cakes), in addition to having the method of payment in cash (post-shipment) or the method of payment via mobile

This project consists in the approach of a bakery business, in which the user can book one or more products (cakes), in addition to having the method of payment in cash (post-shipment) or the method of payment via mobile

MVVM News Application with clean code architecture & android jetpack components.
MVVM News Application with clean code architecture & android jetpack components.

Android - Clean Architecture - Kotlin The purpose of this repo is to follow up Clean Architecture principles by bringing them to Android. The repo con

A minimalistic Android application Built with Clean architecture and Jetpack component
A minimalistic Android application Built with Clean architecture and Jetpack component

MovieMania A minimalistic Android application Built with Clean architecture and Jetpack component (Jetpack Compose, MVVM , Paging 3.0, HILT, ROOM DB,

An Android base project building on MVVM Architecture Pattern. This can help you build new apps faster
An Android base project building on MVVM Architecture Pattern. This can help you build new apps faster

MVVM Explanation If you can't imagine what is MVVM, please read my medium article here first. It can fully explain the revolution of Software architec

Owner
Ahmed Shaban Elhdad
Ahmed Shaban  Elhdad
Food Recipes - Android application built with Jetpack compose, MVVM and clean architecture approach.

Food Recipes Android application that consuming (https://spoonacular.com/food-api) "Recipes api". It has been built with clean architecture principles

Mahmoud Elshahat 26 Jan 29, 2023
Android app which fetches a sample movies list to display. Built using Kotlin and latest Android tech stack, with an approach to clean architecture.

movies-sample-app This is an Android app which fetches a sample movies list to display. Built using Kotlin and latest Android tech stack, with an appr

Nadeem Ahmed 1 Oct 21, 2021
The Rick And Morty - MVVM with a clean architecture approach using some of the best practices in Android Development.

Rick-and-Morty The Rick And Morty - App consuming a Rick and Morty API to display Characters it has been built with clean architecture principles, Rep

Akhilesh Patil 61 Jan 7, 2023
Easy Note: Building a Notes app using MVVM, JetPack Compose with a clean multi-module architecture approach.

Easy Note Easy Note: Notes app using JetPack Compose and MVVM with a clean architecture approach. This app shows the usage of the new Navigation Archi

Akhilesh Patil 10 Dec 17, 2022
Episodie is a TV show time tracker app with unusual design written in kotlin and clean architecture approach. Get to know how much time you spent watching tv shows.

Episodie Episodie is a TV show time tracker app with unusual design. Get to know how much time you spent watching tv shows. Track easily overall progr

Przemek 126 Dec 7, 2022
🚀A powerful android clean architecture that helps you build your apps faster.

IMStudio ?? Table of Contents Project Structure Convention RxJava Common Scripts Technical Stack Dependencies Library Architecture Case Study Authors

Hau NGUYEN (Leo) 0 Nov 20, 2022
Weather application example with Android Architecture components and Clean Architecture

Weather application example with Android Architecture components and Clean Architecture Weather app that shows how to architect an android app in a cl

null 2 Dec 3, 2021
This is a sample Android project that presents a modern approach to Android application development.

Movies It is a sample app that shows information about movies and series. The goal is build a scalable, maintainable and testable app, implementing go

Matias 0 Dec 24, 2021
Chat is a sample project that presents a modern, 2021 approach to Android application development.

Chat for Android Chat is a sample project that presents a modern, 2021 approach to Android application development. Screenshots ??

Cenk Gun 10 Nov 6, 2022
Note-app - A sample project that presents a modern approach to Android application development

Note-app - A sample project that presents a modern approach to Android application development

null 3 Aug 19, 2022