A sample Android app that shows recent posts from internet forum.
Project structure was generated using ChatGPT
app - android app, that hosts all features
features - all app features
feature_name - example of single feature
data - module, that retrieves and stores data from the app's data sources
entity - models, used in data layer
mapper - maps data between domain and data
repository - wrapper for API or database
service - API implementation
domain - module, that contains the core business logic of the app
model - models, used in domain layer
repository - wrapper for accessing data
usecase - business logic omplementation
presentation - module, that contains the code that adapts the domain layer to the Android framework
components - App views
data - models, used in ui layer
mapper - maps data between domain and presentation
navigation - controls transitions between screens
App has multiple features Each feature split in to 3 modules
- presentation - contains Android Presentation Layer
- domain - contains Domain layer with business logic
- data - contains Data layer with REST API requests
- UI calls functions from ViewModel.
- ViewModel executes Use cases from Interactor.
- Use case obtains data from Repository
- Repository returns data from a Api.
- Information flows back to the UI to be displayed.