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.
Last updated
AppKickstarter adopts Clean Architecture for independent, testable, and adaptable core logic, alongside Separation of Concerns, ensuring a modular, organized, and efficient codebase.
Last updated
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:
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.