Central Free & Core Modules

The Central Hub is not just a gateway; it provides a comprehensive suite of free modules that act as the operating system for the Enterprise. These modules are bundled because they are essential for ANY business operation, regardless of industry.

Why Free? Reducing the barrier to entry allowed us to create a standard data model (People, Branches) that all paid modules rely on. It prevents fragmentation and ensures a seamless user experience.

1) The Core Module Suite

These modules are pre-installed and cannot be disabled (though some features can be hidden).

🔐 Identity & Access

Purpose: Secure entry and permission management.

  • Auth: Login, 2FA, Forgot Password.
  • RBAC: Roles, Permissions, User Management.
  • Teams: Group users for bulk assignment.

🏢 Master Data

Purpose: The "Single Source of Truth".

  • People Directory: Profiles for Employees/Contractors.
  • Branches: Physical office locations.
  • Departments: Org chart hierarchy.

💳 Billing & Licensing

Purpose: Commercial relationship management.

  • Marketplace: Storefront for paid plugins.
  • Wallet/Cards: Payment methods.
  • Invoices: Software subscription history.

💬 Support & Ops

Purpose: Operational health.

  • Ticketing: Internal helpdesk.
  • Audit Logs: Security trail.
  • Notifications: Central inbox/email/SMS.

⚡ Productivity (Utils)

Purpose: Daily engagement tools.

  • Calendar: Shared team events.
  • Notes: Personal scratchpad.
  • Todos: Simple task lists.

Central Modules Map

            flowchart TD
                Hub(("Central Hub"))
                
                subgraph Core [Core Foundation]
                    Auth["Auth & IAM"]
                    Platform["Tenant Mgmt"]
                    Billing["Billing Engine"]
                end

                subgraph Master [Master Tables]
                    People["People Directory"]
                    Org["Branches & Depts"]
                end

                subgraph Omni [Omni Tools]
                    Tickets["Tickets"]
                    Notif["Notifications"]
                    Audit["Audit Logs"]
                end

                Hub --- Core
                Hub --- Master
                Hub --- Omni

                style Hub fill:#2563eb,color:white,stroke:#333
                style Core fill:#eff6ff,stroke:#60a5fa
                style Master fill:#f0fdf4,stroke:#4ade80
                style Omni fill:#faf5ff,stroke:#a855f7
            

2) Technical Breakdown

Module Key Tables Key APIs
Identity users, roles, permissions POST /auth/login, GET /users
People people, person_meta GET /people/:id, PATCH /people/:id
Org Struct branches, departments GET /branches, POST /departments
Marketplace modules, tenant_modules POST /modules/:id/enable

3) Module Enablement Lifecycle

How a tenant goes from "Browsing" to "Using" a module (Paid or Free).

            flowchart LR
                Start((Start)) --> Browse[Browse Marketplace]
                Browse --> Select[Select Module]
                Select --> CheckPrice{Is Paid?}
                
                CheckPrice -- Yes --> Pay[Process Payment]
                Pay --> Enable
                CheckPrice -- No --> Enable[Enable Module]
                
                Enable --> DbRecord[Insert tenant_modules]
                DbRecord --> Event[Publish 'module.enabled']
                
                Event --> Setup[Run Module Seeders]
                Setup --> Ready((Ready))

                style Enable fill:#dbeafe,stroke:#2563eb
                style Event fill:#fef3c7,stroke:#d97706
            

4) Integration for Future Paid Modules

When building a paid module (e.g., HRM, CRM), developers must integrate with these Central capabilities:

Integration Checklist

  • Auth: Do not build a login page. Use the Bearer token from Central.
  • Nav: Register your menu items in the Central Registry.
  • People: Don't create a "Name" field. Link to `person_id` from Central.
  • Branches: Dropdowns should fetch from `GET /branches`.
  • Billing: Rely on `tenant_modules.status` to enforce strict access control.
Key Takeaways:
  • Free modules provide the "Skeleton" of the enterprise.
  • Master Data (People, Depts) is centralized to prevent duplication.
  • The Marketplace is the engine for enabling/disabling capabilities.
  • Future modules act as "Consumers" of this core infrastructure.