Skip to main content

Architecture Overview!

Architectural Illustration

The images below illustrates the high-level architecture of the KAppMaker project, showcasing the interaction between different components:

High-Level Architecture of KAppMakerHigh-Level Architecture of KAppMakerHigh-Level Architecture of KAppMaker

Detailed Architecture

The KAppMaker architecture consists of three main layers/packages (domain, data, presentation):

  1. Domain: Contains business logic, domain models and exceptions.
  2. Data: Manages data sources, including user preferences and remote APIs and repositories.
  3. Presentation: Contains UI components, theme (color, font), and screens. Each screen has its own UiState, UiEvent (user actions), and Composable Screen.
  4. Navigation: Routes, the back-stack model, and the root AppNavigation composable. Lives at presentation/navigation/; feature folders stay free of navigation glue.
  5. Root: Application entry point and initialization. AppInitializer contains startup logic and dependency injection setup.
  6. Util: Utility classes, extensions.