Modeler Categories
Domain Modeling
Entities, value objects, aggregates, and domain relationships
Service Design
REST APIs, operations, DTOs, and service contracts
Event Architecture
Message-based communication and event-driven patterns
UI Design
User interface components and frontend architecture
Domain Modeling
Intent.Modelers.Domain
Module ID:Intent.Modelers.DomainVersion: 3.12.0+
Repository: View Source Description: A domain designer based on UML class diagrams for expressing entity relationships.
Key Features
Key Features
- Entity Modeling: Create domain entities with attributes and operations
- Relationships: Define associations, compositions, and aggregations
- Inheritance: Support for entity hierarchies
- Value Objects: Model immutable value types
- Aggregates: Define aggregate boundaries
- Domain Services: Model domain logic operations
- UML class diagram notation
- Drag-and-drop entity creation
- Visual relationship mapping
- Stereotype support for DDD patterns
| Setting | Options | Description |
|---|---|---|
| Attribute Naming Convention | Manual, Pascal Case, Camel Case | Convention for attribute names |
| Entity Naming Convention | Manual, Pascal Case, Camel Case | Convention for entity names |
| Operation Naming Convention | Manual, Pascal Case, Camel Case | Convention for operation names |
- Domain-Driven Design (DDD)
- Entity-Relationship modeling
- Aggregate design
- Repository patterns
Domain Extension Modules
Intent.Modelers.Domain.ValueObjects
Model immutable value objects and their constraints
Intent.Modelers.Domain.Repositories
Define repository interfaces for data access
Intent.Modelers.Domain.Services
Model domain service operations
Intent.Modelers.Domain.Events
Define domain events for event sourcing
Intent.Modelers.Domain.StoredProcedures
Model database stored procedures
Intent.Modelers.Domain.ValueObjects
Module ID:Intent.Modelers.Domain.ValueObjectsRepository: View Source Extends the domain designer with value object support:
- Immutable value types
- Equality comparison semantics
- Validation rules
- Type conversion
Intent.Modelers.Domain.Repositories
Module ID:Intent.Modelers.Domain.RepositoriesRepository: View Source Adds repository pattern support:
- Repository interface definitions
- Query specifications
- CRUD operations
- Custom repository methods
Intent.Modelers.Domain.Events
Module ID:Intent.Modelers.Domain.EventsRepository: View Source Enables domain event modeling:
- Event definitions
- Event publishing
- Event handlers
- Event sourcing patterns
Service Design
Intent.Modelers.Services
Module ID:Intent.Modelers.ServicesVersion: 4.0.0+
Repository: View Source Description: Services modeler for describing an application’s web services.
Key Features
Key Features
- Service Definitions: Model service contracts and operations
- DTOs: Define data transfer objects
- Operations: Service methods with parameters and return types
- Folders: Organize services into logical groups
- CQRS: Command and query separation support
- GraphQL: GraphQL schema support
- Services (service contracts)
- Operations (methods/endpoints)
- DTOs (data structures)
- Parameters (input/output)
- Enums (enumeration types)
| Setting | Options | Description |
|---|---|---|
| Property Naming Convention | Manual, Pascal Case, Camel Case | DTO property naming |
| Entity Naming Convention | Manual, Pascal Case, Camel Case | Service entity naming |
| Operation Naming Convention | Manual, Pascal Case, Camel Case | Operation naming |
Service Extension Modules
Intent.Modelers.Services.CQRS
Command Query Responsibility Segregation patterns
Intent.Modelers.Services.DomainInteractions
Connect services to domain entities
Intent.Modelers.Services.EventInteractions
Model event publishing and handling
Intent.Modelers.Services.ProxyInteractions
Service-to-service communication
Intent.Modelers.Services.GraphQL
GraphQL schema and resolver modeling
Intent.Modelers.Services.CRUD.ServiceDispatch
Auto-generate CRUD operations
Intent.Modelers.Services.CQRS
Module ID:Intent.Modelers.Services.CQRSRepository: View Source Enables CQRS pattern modeling:
- Commands (write operations)
- Queries (read operations)
- Handlers for commands and queries
- Mediator pattern support
Intent.Modelers.Services.DomainInteractions
Module ID:Intent.Modelers.Services.DomainInteractionsRepository: View Source Connects service operations to domain entities:
- Entity CRUD operations
- Domain method invocations
- Repository access patterns
- Transaction boundaries
Event Architecture
Intent.Modelers.Eventing
Module ID:Intent.Modelers.EventingVersion: 6.0.0+
Repository: View Source Description: Eventing modeler for describing event messages and defining publishers and subscribers.
Key Features
Key Features
- Event Messages: Define event payloads and schemas
- Publishers: Specify which components publish events
- Subscribers: Model event consumers and handlers
- Topics/Channels: Organize events by topic
- Integration Events: Cross-bounded-context events
- Message Properties: Event metadata and headers
- Publish-Subscribe
- Event Sourcing
- CQRS Events
- Integration Events
- Domain Events
- Messages (event definitions)
- Publishers (event sources)
- Subscribers (event handlers)
- Subscriptions (routing rules)
Eventing Extension Modules
Intent.Modelers.Eventing.Metadata
Eventing metadata and annotations
Intent.Modelers.Services.EventInteractions
Connect services to event streams
UI Design
Intent.Modelers.UI
Module ID:Intent.Modelers.UIRepository: View Source Description: User interface modeling for frontend applications.
Key Features
Key Features
- Component Modeling: Define UI components
- Page Layout: Design page structures
- Navigation: Define routing and navigation
- Data Binding: Connect UI to backend services
- Forms: Model input forms and validation
UI Extension Modules
Intent.Modelers.UI.Core
Core UI modeling elements
Intent.Modelers.UI.ServiceProxies
Connect UI components to services
Service Proxies
Intent.Modelers.ServiceProxies
Module ID:Intent.Modelers.ServiceProxiesRepository: View Source Description: Model service client proxies for consuming external services.
Key Features
Key Features
- Proxy Definitions: Define service client interfaces
- Endpoint Configuration: Service URLs and routes
- Authentication: Auth configuration for proxies
- Error Handling: Retry and fallback policies
Intent.Modelers.ServiceProxies.Metadata- Proxy metadataIntent.Modelers.Types.ServiceProxies- Type definitions
Codebase Structure
Intent.Modelers.CodebaseStructure
Module ID:Intent.Modelers.CodebaseStructureRepository: View Source Description: Model the folder structure and organization of your codebase. Use Cases:
- Define project structure
- Organize code by feature/layer
- Configure output paths
- Manage code organization
Modeler Selection Guide
| I want to model… | Use this modeler |
|---|---|
| Domain entities and relationships | Intent.Modelers.Domain |
| REST API services | Intent.Modelers.Services |
| Event-driven architecture | Intent.Modelers.Eventing |
| User interface components | Intent.Modelers.UI |
| Service clients | Intent.Modelers.ServiceProxies |
| CQRS commands/queries | Intent.Modelers.Services.CQRS |
| GraphQL APIs | Intent.Modelers.Services.GraphQL |
| Code organization | Intent.Modelers.CodebaseStructure |
Common Workflows
Domain-Driven Design
- Start with
Intent.Modelers.Domain - Add
Intent.Modelers.Domain.ValueObjects - Add
Intent.Modelers.Domain.Repositories - Add
Intent.Modelers.Domain.Events
Microservices Architecture
- Use
Intent.Modelers.Servicesfor APIs - Add
Intent.Modelers.Eventingfor integration - Add
Intent.Modelers.ServiceProxiesfor inter-service calls - Use
Intent.Modelers.Services.EventInteractions
CQRS Implementation
- Use
Intent.Modelers.Services.CQRS - Add
Intent.Modelers.Services.DomainInteractions - Add
Intent.Modelers.Domainfor write model - Add
Intent.Modelers.Eventingfor events
Next Steps
Metadata Modules
Add technical specifications to your models
Module Builder
Create custom modules