🏗️ Architecture

Module Dependency Graph

Understanding the module dependency tree and key architectural layers.

High-Level Architecture

Diagram; its source is available below
Diagram source
graph TB
    subgraph "Applications"
        API[API App]
        Webapp[Angular Webapp]
        Desktop[Desktop App]
    end

    subgraph "Core Packages"
        Core[packages/core]
        Auth[packages/auth]
        Config[packages/config]
        Contracts[packages/contracts]
        Common[packages/common]
    end

    subgraph "Infrastructure"
        Plugin[packages/plugin]
        Plugins[packages/plugins/*]
    end

    API --> Core
    API --> Auth
    API --> Config
    API --> Plugin
    Plugin --> Plugins
    Core --> Contracts
    Core --> Common
    Auth --> Config
    Auth --> Contracts
    Webapp --> Contracts
    Desktop --> Webapp

Core Module Dependencies

The @gauzy/core package is the largest, containing all API modules:

Diagram; its source is available below
Diagram source
graph TB
    CoreModule --> AuthModule
    CoreModule --> EmployeeModule
    CoreModule --> TaskModule
    CoreModule --> ProjectModule
    CoreModule --> TimeTrackingModule
    CoreModule --> InvoiceModule
    CoreModule --> CRMModule
    CoreModule --> InI[IntegrationModule]

    EmployeeModule --> UserModule
    TaskModule --> ProjectModule
    InvoiceModule --> ContactModule
    TimeTrackingModule --> EmployeeModule

Package Responsibilities

PackageResponsibility
contractsTypeScript interfaces, enums
commonShared utilities, helpers
configConfiguration management
authAuthentication & authorization
coreAll business logic modules
pluginPlugin infrastructure
plugins/*Individual plugin implementations

NX Dependency Graph

Visualize the full dependency graph:

npx nx graph

Edit this page

Copyright © 2023-Present Ever Co. LTD.Docs by Sourcey