How It Works
DSLCore uses a declarative approach.
You define your operational structure, and the system is generated from it. The same structure defines every layer of the system.
The process
1. Define the structure
Describe your operation in terms of:
- entities
- relationships
- workflow constraints
This is written in a simple DSL.
2. Generate the system
From this definition, DSLCore generates:
- database schema
- API layer
- user interface
- navigation between related data
3. Run and evolve
The generated application is complete and ready to use.
Changes to the model can be applied and the system regenerated as workflows evolve.
Example
A simple inventory structure might be defined as:
Table: Product
id: int (primary key)
sku: string (required, unique)
name: string (required)
price: decimal (min: 0)
Table: Supplier
id: int (primary key)
name: string (required)
Table: Inventory
product_id: int (foreign key -> Product)
supplier_id: int (foreign key -> Supplier)
quantity: int
This definition describes the operational structure.
What is generated
From this model, DSLCore produces a working application:
- database with relationships and constraints
- API with standard operations
- user interface for managing data
- navigation across related records
System structure
The generated system follows a simple, inspectable structure:
Browser
↓
Web Interface
↓
API Layer
↓
Data Model
↓
Database
Each layer reflects the same underlying model.
Properties of the system
- structure is explicit
- relationships are navigable
- workflow state is visible
- systems evolve through model changes
Result
- faster development
- consistent applications
- systems that remain understandable over time