Modules
Overview of the module metadata schema used in SolidX.
Where it lives
JSON Pointer: /moduleMetadata
JSONPath: $.moduleMetadata
Parent: Root of the metadata file
Overview
Module metadata defines the top-level boundary of a SolidX business domain.
It identifies the module, establishes its default data-source behaviour, and provides the root container under which related models, views, menus, and other metadata records are organized.
Mental Model
A module is the top-level business boundary in SolidX. It is not just a folder or namespace.
- Start by asking which business capability the module owns.
- Group closely related models, views, actions, and menus inside that boundary.
- Use the module record to establish the identity of that domain across the platform.
For admin-side authoring workflows, see Module Management Documentation.
Example: Fees Portal Module
Below is a representative module record for a fees-portal domain.
Module schema example
{
"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
}In this example, defaultDataSource is set to default, which points to the default TypeORM data source configured in your app-default-database.module.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
menuSequenceNumber (number, optional)
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
menuIconUrl (string, optional)
Path/URL of an icon to represent the module in the navigation pane.
Default: N/A

