KernelModule
Represents a functional module within the solution, grouping related entities and features into cohesive units. Each module can define dependencies on other modules, ensuring proper initialization order and enabling plugin-based architectures.
Properties
| Property | Type | Mode | Description | Required |
|---|---|---|---|---|
| name | string | calculated | Unique technical name of the module used for identification and references Example: | Required |
| label | string | calculated | Human-readable display name of the module Example: | Required |
| description | string | calculated | Detailed description of the module purpose and capabilities | Optional |
| version | string | calculated | Current version of the module following semantic versioning Example: | Optional |
| dependencies | KernelModule[] | calculated | List of modules that this module depends on | Optional |
| order | number | calculated | Display order for sorting modules in UI Example: | Optional |
| metadata | json | calculated | Additional module configuration and metadata | Optional |
| models | KernelModel[] | calculated | List of entity models that belong to this module | Optional |
| modelCount | number | calculated | Number of entity models in this module | Optional |
Examples
Example 1
{
"@type": "KernelModule",
"name": "kernel",
"label": "Kernel",
"description": "Core system primitives and base abstractions - modules and models registry",
"version": "1.0.0",
"order": 0
}Example 2
{
"@type": "KernelModule",
"name": "catalog",
"label": "Product Catalog",
"description": "Product and inventory management for e-commerce and retail",
"version": "2.1.0",
"dependencies": [
{
"@type": "KernelModule",
"name": "core"
}
],
"order": 10
}Example 3
{
"@type": "KernelModule",
"name": "billing",
"label": "Billing & Invoicing",
"description": "Subscription management, invoicing, and payment processing",
"version": "1.5.0",
"dependencies": [
{
"@type": "KernelModule",
"name": "core"
},
{
"@type": "KernelModule",
"name": "tenant"
}
],
"order": 15
}Example 4
{
"@type": "KernelModule",
"name": "legacy-reports",
"label": "Legacy Reports",
"description": "Deprecated reporting module - use analytics module instead",
"version": "1.0.0",
"order": 99
}