Multi modules Architecture

AppKickstarter adopts Clean Architecture for independent, testable, and adaptable core logic, alongside Separation of Concerns, ensuring a modular, organized, and efficient codebase.

AppKickstarter has a multi-module Gradle structure, embracing Clean Architecture and Separation of Concerns. This structure is aimed at enhancing maintainability and promoting a robust development framework. The codebase is divided into distinct modules, each serving a specific function, adhering to SOLID principles, and ensuring a clear separation of concerns:

AppKickstarter modules architecture
AppKickstarter modules architecture
  • Umbrella Shared Module: Acts as the central entry point for the app.

  • Shared Module: Provides common utilities and foundational components.

  • Domain Module: Contains the business logic and use cases, crucial to the Clean Architecture model.

  • ComposeUI Module: Focuses on UI development with Compose UI, housing all UI components.

  • Firebase Module: Centralizes Firebase services, managing database operations and more.

  • Auth Module: Oversees user authentication, ensuring secure access control.

  • Settings Module: Offers a comprehensive interface for settings and preferences management.

  • Resources Module: Stores all app resources, ensuring centralized management of strings, themes, and fonts.

  • Onboarding Module: Aids new users in familiarizing themselves with the app's functionalities.

  • Maps Module: Manages all map-related features, including permissions and location services.

  • Monetization Module: Integrates Revenue Cat for subscriptions and in-app purchases, along with pre-built paywalls.

  • Dates Module: Specializes in date and time operations, promoting consistency in managing temporal data.

  • WhatsNew Module: Handles the presentation and management of updates and new features.

Last updated

Was this helpful?