mirror of
https://github.com/azaion/loader.git
synced 2026-04-22 22:46:32 +00:00
b0a03d36d6
Made-with: Cursor
109 lines
2.7 KiB
Markdown
109 lines
2.7 KiB
Markdown
# System Flows Template
|
|
|
|
Use this template for the system flows document. Save as `_docs/02_document/system-flows.md`.
|
|
Individual flow diagrams go in `_docs/02_document/diagrams/flows/flow_[name].md`.
|
|
|
|
---
|
|
|
|
```markdown
|
|
# [System Name] — System Flows
|
|
|
|
## Flow Inventory
|
|
|
|
| # | Flow Name | Trigger | Primary Components | Criticality |
|
|
|---|-----------|---------|-------------------|-------------|
|
|
| F1 | [name] | [user action / scheduled / event] | [component list] | High/Medium/Low |
|
|
| F2 | [name] | | | |
|
|
| ... | | | | |
|
|
|
|
## Flow Dependencies
|
|
|
|
| Flow | Depends On | Shares Data With |
|
|
|------|-----------|-----------------|
|
|
| F1 | — | F2 (via [entity]) |
|
|
| F2 | F1 must complete first | F3 |
|
|
|
|
---
|
|
|
|
## Flow F1: [Flow Name]
|
|
|
|
### Description
|
|
|
|
[1-2 sentences: what this flow does, who triggers it, what the outcome is]
|
|
|
|
### Preconditions
|
|
|
|
- [Condition 1]
|
|
- [Condition 2]
|
|
|
|
### Sequence Diagram
|
|
|
|
```mermaid
|
|
sequenceDiagram
|
|
participant User
|
|
participant ComponentA
|
|
participant ComponentB
|
|
participant Database
|
|
|
|
User->>ComponentA: [action]
|
|
ComponentA->>ComponentB: [call with params]
|
|
ComponentB->>Database: [query/write]
|
|
Database-->>ComponentB: [result]
|
|
ComponentB-->>ComponentA: [response]
|
|
ComponentA-->>User: [result]
|
|
```
|
|
|
|
### Flowchart
|
|
|
|
```mermaid
|
|
flowchart TD
|
|
Start([Trigger]) --> Step1[Step description]
|
|
Step1 --> Decision{Condition?}
|
|
Decision -->|Yes| Step2[Step description]
|
|
Decision -->|No| Step3[Step description]
|
|
Step2 --> EndNode([Result])
|
|
Step3 --> EndNode
|
|
```
|
|
|
|
### Data Flow
|
|
|
|
| Step | From | To | Data | Format |
|
|
|------|------|----|------|--------|
|
|
| 1 | [source] | [destination] | [what data] | [DTO/event/etc] |
|
|
| 2 | | | | |
|
|
|
|
### Error Scenarios
|
|
|
|
| Error | Where | Detection | Recovery |
|
|
|-------|-------|-----------|----------|
|
|
| [error type] | [which step] | [how detected] | [what happens] |
|
|
|
|
### Performance Expectations
|
|
|
|
| Metric | Target | Notes |
|
|
|--------|--------|-------|
|
|
| End-to-end latency | [target] | [conditions] |
|
|
| Throughput | [target] | [peak/sustained] |
|
|
|
|
---
|
|
|
|
## Flow F2: [Flow Name]
|
|
|
|
(repeat structure above)
|
|
```
|
|
|
|
---
|
|
|
|
## Mermaid Diagram Conventions
|
|
|
|
Follow these conventions for consistency across all flow diagrams:
|
|
|
|
- **Participants**: use component names matching `components/[##]_[name]`
|
|
- **Node IDs**: camelCase, no spaces (e.g., `validateInput`, `saveOrder`)
|
|
- **Decision nodes**: use `{Question?}` format
|
|
- **Start/End**: use `([label])` stadium shape
|
|
- **External systems**: use `[[label]]` subroutine shape
|
|
- **Subgraphs**: group by component or bounded context
|
|
- **No styling**: do not add colors or CSS classes — let the renderer theme handle it
|
|
- **Edge labels**: wrap special characters in quotes (e.g., `-->|"O(n) check"|`)
|