93 lines
1.9 KiB
Markdown
93 lines
1.9 KiB
Markdown
# {{PROJECT_NAME}} Architecture
|
|
|
|
## High-Level Overview
|
|
|
|
{{ARCHITECTURE_OVERVIEW}}
|
|
|
|
```mermaid
|
|
flowchart LR
|
|
User["User"]
|
|
Interface["{{INTERFACE_LAYER}}"]
|
|
Application["{{APPLICATION_LAYER}}"]
|
|
Domain["{{DOMAIN_LAYER}}"]
|
|
Infrastructure["{{INFRASTRUCTURE_LAYER}}"]
|
|
|
|
User --> Interface
|
|
Interface --> Application
|
|
Application --> Domain
|
|
Application --> Infrastructure
|
|
```
|
|
|
|
## Architecture Style
|
|
|
|
- Style: {{ARCHITECTURE_STYLE}}
|
|
- Reason: {{ARCHITECTURE_REASON}}
|
|
- Key trade-off: {{ARCHITECTURE_TRADE_OFF}}
|
|
|
|
## Folder Structure
|
|
|
|
```text
|
|
{{PROJECT_ROOT}}/
|
|
{{SOURCE_FOLDER}}/
|
|
{{TEST_FOLDER}}/
|
|
docs/
|
|
```
|
|
|
|
## Module Responsibilities
|
|
|
|
| Module | Responsibility | Public Interface |
|
|
| --- | --- | --- |
|
|
| {{MODULE_NAME}} | {{MODULE_RESPONSIBILITY}} | {{PUBLIC_INTERFACE}} |
|
|
|
|
## Dependency Rules
|
|
|
|
- {{DEPENDENCY_RULE_1}}
|
|
- {{DEPENDENCY_RULE_2}}
|
|
- {{DEPENDENCY_RULE_3}}
|
|
|
|
## Persistence Boundary
|
|
|
|
- Pattern: Repository pattern
|
|
- Repository interfaces: {{REPOSITORY_INTERFACE_LOCATION}}
|
|
- Repository implementations: {{REPOSITORY_IMPLEMENTATION_LOCATION}}
|
|
- Transaction boundary: {{TRANSACTION_BOUNDARY}}
|
|
- Repository rules: {{REPOSITORY_RULES}}
|
|
|
|
## Request Flow
|
|
|
|
{{REQUEST_FLOW}}
|
|
|
|
## Data Flow
|
|
|
|
{{DATA_FLOW}}
|
|
|
|
## Domain Model
|
|
|
|
| Concept | Meaning | Invariants |
|
|
| --- | --- | --- |
|
|
| {{DOMAIN_CONCEPT}} | {{DOMAIN_MEANING}} | {{DOMAIN_INVARIANTS}} |
|
|
|
|
## Integration Points
|
|
|
|
| Integration | Direction | Protocol | Failure Policy |
|
|
| --- | --- | --- | --- |
|
|
| {{INTEGRATION}} | {{DIRECTION}} | {{PROTOCOL}} | {{FAILURE_POLICY}} |
|
|
|
|
## Security
|
|
|
|
- Authentication: {{AUTHENTICATION_POLICY}}
|
|
- Authorization: {{AUTHORIZATION_POLICY}}
|
|
- Secrets: {{SECRETS_POLICY}}
|
|
- Input validation: {{INPUT_VALIDATION_POLICY}}
|
|
- Audit logging: {{AUDIT_LOGGING_POLICY}}
|
|
|
|
## Error Handling
|
|
|
|
{{ERROR_HANDLING_POLICY}}
|
|
|
|
## Performance And Scalability
|
|
|
|
- Latency target: {{LATENCY_TARGET}}
|
|
- Throughput target: {{THROUGHPUT_TARGET}}
|
|
- Scaling strategy: {{SCALING_STRATEGY}}
|