Skip to main content

Module Metadata

Where it lives
JSON Pointer: /moduleMetadata
JSONPath: $.moduleMetadata
Parent: Root of the metadata file

Overview​

When creating a new module in SolidX, you're defining a core building block of your application.
A module groups together related models and functionality under a unified domain.

πŸ‘‰ For a conceptual overview of what a module is, see Module Management Documentation.

Example: Fees Portal Module​

Below is a module metadata example for a "Fees Portal" module that tracks fee collection requests.

Module Schema

{
"moduleMetadata": {
"name": "fees-portal",
"displayName": "Fees Portal",
"description": "Keep track of fees collections requests",
"defaultDataSource": "default",
"menuIconUrl": null,
"menuSequenceNumber": 2,
"isSystem": false,
... // Model and Field metadata goes here
},
... // Other metadata components go here
}

Info

The defaultDataSource is set to "default" here, which refers to the default data source configured in your SolidX instance. This is the TypeORM data source configured in your app-default.database.ts in your project solid-api src folder.

Module Metadata Attributes​

name (string, required, unique)​

Unique identifier for the module (lowercase, underscores/dashes).
Used internally by the system and in the API (e.g., "sales").
Default: N/A

displayName (string, required)​

Human-readable name shown in the admin panel’s navigation and UI
(e.g., "Sales Management").
Default: N/A

description (string, optional)​

Short summary of what the module represents or its purpose.
Default: N/A

defaultDataSource (string, optional)​

Default data source (from a predefined list) used to read/write data.
Default: N/A

Order in which the module appears in the sidebar/navigation menu
(lower numbers appear earlier).
Default: N/A

isSystem (boolean, required)​

Marks this as a system module (cannot be deleted).
Default: false

Path/URL of an icon to represent the module in the navigation pane.
Default: N/A