Systems
Model software systems, containers, and components
Systems are the building blocks of your architecture in Archflow. They represent the software components, services, and actors in your architecture.
System Types
Archflow follows the C4 model's element types:
| Type | Description | Example |
|---|---|---|
| Person | A user or actor that interacts with your system | Customer, Admin, External Developer |
| Software System | A top-level software system | E-commerce Platform, Payment Gateway |
| Container | A deployable unit within a system | Web App, REST API, PostgreSQL Database |
| Component | A logical grouping within a container | Auth Module, Order Processor |
Systems Page
Navigate to Systems in the project sidebar to manage all your architectural elements. The page shows summary statistics at the top:
| Stat | Description |
|---|---|
| Total Systems | Count of all elements in the project |
| Applications | Count of Software System type elements |
| Containers | Count of Container type elements |
| Components | Count of Component type elements |
View Modes
The systems page offers three ways to browse your elements:
- Tree view --- Hierarchical tree with drag-and-drop to rearrange the system hierarchy. Each node shows the system name, type, completion percentage, and connection count.
- Card view --- Grid of system cards for quick scanning
- Table view --- Tabular layout with sortable columns
Action Buttons
- Document All Elements --- Batch-generate documentation for all systems using AI
- Import Project --- Import an external
.archflow.gzarchive as a subsystem - Add Element --- Create a new system with name, type, description, and technology
System Properties
Each system has the following properties:
- Name --- A clear, descriptive identifier
- Type --- One of the C4 element types above
- Description --- What the system does or is responsible for
- Technology --- The tech stack or platform (e.g., "React", "Node.js", "PostgreSQL")
- Parent --- Optional parent system for hierarchical nesting
System Detail Page
Click any system to open its detail page at /systems/[systemId]. The detail page shows:
- System name, type, and description
- Technology and parent system
- Connections involving this system
- Documentation sections
- Arc42 profile (if configured)
System Hierarchy
Systems can be nested to reflect your architecture's structure:
E-commerce Platform (Software System)
├── Web Application (Container) - React, Next.js
├── API Server (Container) - Node.js, Express
├── Database (Container) - PostgreSQL
└── Message Queue (Container) - RabbitMQ
├── Order Processor (Component)
└── Notification Service (Component)In Tree view, you can drag and drop systems to change their position in the hierarchy. Each system shows a badge with its child count when it has nested elements.
Semantic Paths
Each system gets a human-readable URL path based on its name and position in the hierarchy. For example, a "Payment Service" container inside "E-commerce Platform" might have the path /e-commerce-platform/payment-service.
Managing Systems
Creating Systems
Add systems from the project Systems page by clicking Add Element, or create them directly on the diagram canvas. When creating from the canvas, the system is automatically placed at your cursor position.
Editing Systems
Click any system to open its detail page. You can modify all properties, change the parent system, or delete it. On the systems list, each row has an Open menu button with quick actions.
Reparenting Systems
Move a system to a different parent in the hierarchy:
- Open the system's detail page or use the Open menu on the systems list
- Select Reparent (or change the parent field)
- Preview the impact of the move before confirming
- All child systems move with the parent, preserving the subtree structure
Arc42 Profiles
Each system can have an associated Arc42 architecture profile that documents its business context, quality requirements, and architectural decisions. See Arc42 Profiles for details.