Giter Site home page Giter Site logo

bjyueshifzy / android-clean-architecture Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ydhnwb/android-clean-architecture

0.0 0.0 0.0 414 KB

A clean architecture example. Using Kotlin Flow, Retrofit and Dagger Hilt, etc.

Home Page: https://www.youtube.com/playlist?list=PLkVx132FdJZnNsBTJSr4Sc1oAwRFXl2G4

Kotlin 100.00%

android-clean-architecture's Introduction

android-clean-architecture

A clean architecture example. Using Kotlin Flow, Retrofit and Dagger Hilt, etc.

Intro

Architecture means the overall design of the project. It’s the organization of the code into classes or files or components or modules. And it’s how all these groups of code relate to each other. The architecture defines where the application performs its core functionality and how that functionality interacts with things like the database and the user interface.

Clean architecture refers to organizing the project so that it’s easy to understand and easy to change as the project grows. This doesn’t happen by chance. It takes intentional planning.

Reference

  • This android app using backend from this repo
  • If you want tutorial how to create this app step by step, go to this youtube playlist.

Screenshots

Notes

I created this app just for example how to implement clean architecture on android. It really biased to my preference and experience. Also, clean architecture is not mandatory to do. If you feel that you/your team are taking so much benefit by implementing this design pattern, then go for it. Otherwise, don't use it or just modify to your/your team preferences.

Main Picture

There are 3 layer in this app.

Presentation Layer Domain Layer Data Layer
your ui/view entity data source, dto
your viewmodel usecase repository implementation
probably your extension repository interface your library config(retrofit/room)
etc... etc.. etc...

App Level Example

Presentation Layer Something in Between Domain Layer Data Layer Outer data layer
LoginActivity & LoginViewModel <- LoginUseCase -> <- LoginRepository (interface) -> <- LoginRepositoryImplementation DataSource

android-clean-architecture's People

Contributors

ydhnwb avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.