Android Showcase application
This project aims to show a modern architecture of an android project. To emphasise the structure only few library as been used.
This project use a 3 layers architecture (presentation, domain, data) by feature (search, user ...).
Because of exception
mechanism (allow pass through layers), we will avoid using them.
Either
is used between data
& domain
and then we will use State
.
Domain have all entities & use case that define a feature.
Expose data to the domain
layer through a dependency inversion. Data can come from http, database but also GPS or web socket like push...
Define screen rendering with an MVVM pattern.
All transverse component is store in sub module of core
.
e.g :
:core:presentation:design
=> design system of the application share to all :feature:presentation
:core:data:graphql
=> graphql configuration share to all :feature:data
To avoid OAuth setup, GQL API implementation use a personal access token.
Create a Github access token and add it in local.properties
under github.bearer
key.