Adding templates
parent
683171b401
commit
60b082290a
|
|
@ -0,0 +1,35 @@
|
|||
# {{get (get (get solution 0) "data") "name"}} - Solution Design Document
|
||||
|
||||
{{#each solution}}
|
||||
|
||||
## Solution
|
||||
|
||||
{{#with (get data "solution")}}
|
||||
Name: {{name}}
|
||||
Problem Statement: {{problem_statement}}
|
||||
{{/with}}
|
||||
|
||||
## Project
|
||||
|
||||
{{#each (get data "project")}}
|
||||
- Name: {{name}}
|
||||
- Budget: {{budget}}
|
||||
- Guide: {{guide}}
|
||||
{{/each}}
|
||||
|
||||
## Applications
|
||||
|
||||
| Name | Type | Framework |
|
||||
|------|------|-----------|
|
||||
{{#each (get data "applications")}}
|
||||
| {{name}} | {{type}} | {{framework}} |
|
||||
{{/each}}
|
||||
|
||||
## Stakeholders
|
||||
|
||||
| Name | Title | Role |
|
||||
|------|-------|------|
|
||||
{{#each (get data "stakeholders")}}
|
||||
| {{name}} | {{title}} | {{role}} |
|
||||
{{/each}}
|
||||
{{/each}}
|
||||
|
|
@ -0,0 +1,417 @@
|
|||
# {{get (get (get business_requirements 0) "data") "name"}} - Solution Design Document
|
||||
|
||||
{{toc}}
|
||||
|
||||
**Generated:** {{generated_date}}
|
||||
**Version:** 1.0
|
||||
**Status:** Draft
|
||||
|
||||
---
|
||||
|
||||
# Executive Summary
|
||||
|
||||
This document provides a high-level solution design
|
||||
for **{{get (get (get business_requirements 0) "data") "name"}}**.
|
||||
It consolidates specifications across business requirements, security, APIs, databases, and deployment configurations.
|
||||
|
||||
{{overviewDiagram "DIAGRAM"}}
|
||||
|
||||
---
|
||||
|
||||
# 1. Business Requirements
|
||||
|
||||
{{#if has_business_requirements}}
|
||||
{{#each business_requirements}}
|
||||
## {{get data "name"}}
|
||||
|
||||
**Description:** {{get data "description"}}
|
||||
|
||||
### Requirements
|
||||
|
||||
{{#each (get data "requirements")}}
|
||||
- **{{id}}**: {{title}}
|
||||
- {{description}}
|
||||
- Priority: {{priority}}
|
||||
{{/each}}
|
||||
|
||||
### Features
|
||||
|
||||
{{#each (get data "features")}}
|
||||
#### {{name}}
|
||||
{{#each components}}
|
||||
- {{this}}
|
||||
{{/each}}
|
||||
{{/each}}
|
||||
|
||||
### Stakeholders
|
||||
|
||||
| Name | Title | Role |
|
||||
|------|-------|------|
|
||||
{{#each (get data "stakeholders")}}
|
||||
| {{name}} | {{title}} | {{role}} |
|
||||
{{/each}}
|
||||
{{/each}}
|
||||
{{else}}
|
||||
*No business requirements specifications found.*
|
||||
{{/if}}
|
||||
|
||||
---
|
||||
|
||||
# 2. Non-Functional Requirements
|
||||
|
||||
{{#if has_nfr}}
|
||||
{{#each non_functional_requirements}}
|
||||
|
||||
### NFR Summary
|
||||
|
||||
| ID | Category | Title | Target |
|
||||
|----|----------|-------|--------|
|
||||
{{#each (get data "requirements")}}
|
||||
| {{id}} | {{category}} | {{title}} | {{target}} |
|
||||
{{/each}}
|
||||
|
||||
{{/each}}
|
||||
{{else}}
|
||||
*No NFR specifications found.*
|
||||
{{/if}}
|
||||
|
||||
---
|
||||
|
||||
# 3. Security Architecture
|
||||
|
||||
{{#if has_security}}
|
||||
{{#each security}}
|
||||
|
||||
## Encryption
|
||||
|
||||
- **At Rest:** {{get (get data "encryption") "at_rest"}}
|
||||
- **In Transit:** {{get (get data "encryption") "in_transit"}}
|
||||
|
||||
## Compliance
|
||||
|
||||
{{#each (get (get data "compliance") "standards")}}
|
||||
- **{{name}}** ({{#each regions}}{{this}}{{/each}})
|
||||
{{/each}}
|
||||
|
||||
## Threat Model
|
||||
|
||||
| Threat | Severity | Mitigation |
|
||||
|--------|----------|------------|
|
||||
{{#each (get (get data "threat_model") "threats")}}
|
||||
| {{name}} | {{severity}} | {{mitigation}} |
|
||||
{{/each}}
|
||||
|
||||
{{/each}}
|
||||
{{else}}
|
||||
*No security specifications found.*
|
||||
{{/if}}
|
||||
|
||||
---
|
||||
|
||||
# 4. Authentication & Authorization
|
||||
|
||||
{{#if has_authentication}}
|
||||
## Authentication
|
||||
|
||||
{{#each authentication}}
|
||||
### Methods
|
||||
|
||||
{{#each (get data "methods")}}
|
||||
- **{{type}}**: {{#if enabled}}Enabled{{else}}Disabled{{/if}}
|
||||
{{/each}}
|
||||
|
||||
### Session Configuration
|
||||
|
||||
- Token Type: {{get (get data "session") "type"}}
|
||||
- Access Token Expiry: {{get (get data "session") "access_token_expiry"}}
|
||||
- Refresh Token Expiry: {{get (get data "session") "refresh_token_expiry"}}
|
||||
{{/each}}
|
||||
{{/if}}
|
||||
|
||||
{{#if has_authorization}}
|
||||
## Authorization
|
||||
|
||||
{{#each authorization}}
|
||||
### Model: {{upper (get data "model")}}
|
||||
|
||||
### Roles
|
||||
|
||||
| Role | Description | Permissions |
|
||||
|------|-------------|-------------|
|
||||
{{#each (get data "roles")}}
|
||||
| {{name}} | {{description}} | {{join permissions ", "}} |
|
||||
{{/each}}
|
||||
{{/each}}
|
||||
{{/if}}
|
||||
|
||||
{{sequenceDiagram "Authentication Flow"}}
|
||||
|
||||
---
|
||||
|
||||
# 5. Database Design
|
||||
|
||||
{{#if has_database}}
|
||||
{{#each database}}
|
||||
|
||||
## Database: {{get data "type"}}
|
||||
|
||||
- **Engine:** {{get data "engine"}}
|
||||
- **Version:** {{get data "version"}}
|
||||
|
||||
### Schemas
|
||||
|
||||
{{#each (get data "schemas")}}
|
||||
#### Schema: {{name}}
|
||||
|
||||
{{#each tables}}
|
||||
**Table: {{name}}**
|
||||
|
||||
| Column | Type | Constraints |
|
||||
|--------|------|-------------|
|
||||
{{#each columns}}
|
||||
| {{name}} | {{type}} | {{#if primary_key}}PK{{/if}}{{#if unique}}UNIQUE{{/if}}{{#if not_null}}NOT NULL{{/if}}{{#if foreign_key}}FK: {{foreign_key}}{{/if}} |
|
||||
{{/each}}
|
||||
{{/each}}
|
||||
{{/each}}
|
||||
|
||||
### Replication & Backup
|
||||
|
||||
- **Replication Type:** {{get (get data "replication") "type"}}
|
||||
- **Replicas:** {{get (get data "replication") "replicas"}}
|
||||
- **Backup Frequency:** {{get (get data "backup") "frequency"}}
|
||||
- **Retention:** {{get (get data "backup") "retention"}}
|
||||
|
||||
{{/each}}
|
||||
|
||||
{{dbDiagram "SAMPLE"}}
|
||||
|
||||
{{else}}
|
||||
*No database specifications found.*
|
||||
{{/if}}
|
||||
|
||||
---
|
||||
|
||||
# 6. API Specifications
|
||||
|
||||
{{#if has_openapi}}
|
||||
{{#each openapi}}
|
||||
|
||||
## Published APIs
|
||||
|
||||
{{#each (get (get data "apis") "published")}}
|
||||
### {{name}} ({{version}})
|
||||
|
||||
**Base Path:** `{{base_path}}`
|
||||
|
||||
| Method | Path | Description | Used | Impact | Auth Required |
|
||||
|--------|------|-------------|------|--------|---------------|
|
||||
{{#each endpoints}}
|
||||
| {{method}} | {{path}} | {{description}} | {{#if used}}Yes{{else}}No{{/if}} | {{impact}} | {{#if auth_required}}Yes{{else}}No{{/if}} |
|
||||
{{/each}}
|
||||
{{/each}}
|
||||
|
||||
## Consumed APIs (External)
|
||||
|
||||
{{#each (get (get data "apis") "consumed")}}
|
||||
### **{{name}}** ({{provider}}): `{{base_url}}`
|
||||
|
||||
| Method | Path | Description | Used | Impact | Auth Required |
|
||||
|--------|------|-------------|------|--------|---------------|
|
||||
{{#each endpoints}}
|
||||
| {{method}} | {{path}} | {{description}} | {{#if used}}Yes{{else}}No{{/if}} | {{impact}} | {{#if auth_required}}Yes{{else}}No{{/if}} |
|
||||
{{/each}}
|
||||
|
||||
{{/each}}
|
||||
|
||||
{{/each}}
|
||||
|
||||
{{sequenceDiagram "API Request Flow"}}
|
||||
|
||||
{{else}}
|
||||
*No API specifications found.*
|
||||
{{/if}}
|
||||
|
||||
---
|
||||
|
||||
# 7. Message Queues (OpenSync)
|
||||
|
||||
{{#if has_opensync}}
|
||||
{{#each opensync}}
|
||||
|
||||
## Broker: {{get data "broker"}} ({{get data "version"}})
|
||||
|
||||
### Published Queues
|
||||
|
||||
| Queue | Exchange | Routing Key | Description |
|
||||
|-------|----------|-------------|-------------|
|
||||
{{#each (get (get data "queues") "published")}}
|
||||
| {{name}} | {{exchange}} | {{routing_key}} | {{description}} |
|
||||
{{/each}}
|
||||
|
||||
### Consumed Queues
|
||||
|
||||
| Queue | Exchange | Handler | Description |
|
||||
|-------|----------|---------|-------------|
|
||||
{{#each (get (get data "queues") "consumed")}}
|
||||
| {{name}} | {{exchange}} | {{handler}} | {{description}} |
|
||||
{{/each}}
|
||||
|
||||
### Dead Letter Queue
|
||||
|
||||
- **Enabled:** {{get (get data "dlq") "enabled"}}
|
||||
- **Max Retries:** {{get (get data "dlq") "max_retries"}}
|
||||
|
||||
{{/each}}
|
||||
|
||||
{{sequenceDiagram "Message Queue Flow"}}
|
||||
|
||||
{{else}}
|
||||
*No message queue specifications found.*
|
||||
{{/if}}
|
||||
|
||||
---
|
||||
|
||||
# 8. Observability
|
||||
|
||||
## Telemetry
|
||||
|
||||
{{#if has_telemetry}}
|
||||
{{#each telemetry}}
|
||||
### Metrics
|
||||
|
||||
- **Provider:** {{get (get data "metrics") "provider"}}
|
||||
- **Endpoint:** {{get (get data "metrics") "endpoint"}}
|
||||
|
||||
#### Custom Metrics
|
||||
|
||||
{{#each (get (get data "metrics") "custom_metrics")}}
|
||||
- `{{name}}` ({{type}}): {{description}}
|
||||
{{/each}}
|
||||
|
||||
### Distributed Tracing
|
||||
|
||||
- **Provider:** {{get (get data "traces") "provider"}}
|
||||
- **Sampling Rate:** {{get (get data "traces") "sampling_rate"}}
|
||||
{{/each}}
|
||||
{{else}}
|
||||
*No telemetry specifications found.*
|
||||
{{/if}}
|
||||
|
||||
## Analytics
|
||||
|
||||
{{#if has_analytics}}
|
||||
{{#each analytics}}
|
||||
### Events Tracked
|
||||
|
||||
{{#each (get (get data "tracking") "events")}}
|
||||
- **{{name}}**: {{join properties ", "}}
|
||||
{{/each}}
|
||||
{{/each}}
|
||||
{{else}}
|
||||
*No analytics specifications found.*
|
||||
{{/if}}
|
||||
|
||||
## Logging
|
||||
|
||||
{{#if has_logging}}
|
||||
{{#each logging}}
|
||||
### Log Destinations
|
||||
|
||||
{{#each (get data "destinations")}}
|
||||
- **{{name}}** ({{type}}): Level = {{level}}
|
||||
{{/each}}
|
||||
|
||||
### Retention Policy
|
||||
|
||||
- Hot Storage: {{get (get data "retention") "hot"}}
|
||||
- Warm Storage: {{get (get data "retention") "warm"}}
|
||||
- Cold Storage: {{get (get data "retention") "cold"}}
|
||||
{{/each}}
|
||||
{{else}}
|
||||
*No logging specifications found.*
|
||||
{{/if}}
|
||||
|
||||
---
|
||||
|
||||
# 9. Deployment Architecture
|
||||
|
||||
{{#if has_deployment}}
|
||||
{{#each deployment}}
|
||||
|
||||
## Container Configuration
|
||||
|
||||
- **Base Image:** {{get (get data "docker") "base_image"}}
|
||||
|
||||
## Kubernetes Resources
|
||||
|
||||
### Deployments
|
||||
|
||||
{{#each (get (get data "kubernetes") "deployments")}}
|
||||
#### {{name}}
|
||||
|
||||
- **Replicas:** {{replicas}}
|
||||
- **Image:** {{image}}
|
||||
- **CPU Request/Limit:** {{get (get resources "requests") "cpu"}} / {{get (get resources "limits") "cpu"}}
|
||||
- **Memory Request/Limit:** {{get (get resources "requests") "memory"}} / {{get (get resources "limits") "memory"}}
|
||||
{{/each}}
|
||||
|
||||
### Auto-Scaling
|
||||
|
||||
- **Enabled:** {{get (get (get data "kubernetes") "autoscaling") "enabled"}}
|
||||
- **Min/Max Replicas:** {{get (get (get data "kubernetes") "autoscaling") "min_replicas"}} - {{get (get (get data "kubernetes") "autoscaling") "max_replicas"}}
|
||||
|
||||
{{/each}}
|
||||
{{else}}
|
||||
*No deployment specifications found.*
|
||||
{{/if}}
|
||||
|
||||
---
|
||||
|
||||
# 10. Service Level Agreements
|
||||
|
||||
{{#if has_service_level}}
|
||||
{{#each service_level}}
|
||||
|
||||
## SLA
|
||||
|
||||
- **Availability Target:** {{get (get data "sla") "availability"}}
|
||||
|
||||
## Service Level Objectives
|
||||
|
||||
| Objective | Target | Window |
|
||||
|-----------|--------|--------|
|
||||
{{#each (get data "slo")}}
|
||||
| {{name}} | {{target}} | {{window}} |
|
||||
{{/each}}
|
||||
|
||||
## Error Budget
|
||||
|
||||
- **Monthly Budget:** {{get (get data "error_budget") "monthly_budget"}}
|
||||
- **Alert Threshold:** {{get (get data "error_budget") "alerting_threshold"}}
|
||||
|
||||
{{/each}}
|
||||
{{else}}
|
||||
*No service level specifications found.*
|
||||
{{/if}}
|
||||
|
||||
---
|
||||
|
||||
# Appendix
|
||||
|
||||
## A. Specification Files Summary
|
||||
|
||||
| File | Type |
|
||||
|------|------|
|
||||
{{#each all_files}}
|
||||
| {{name}} | {{type}} |
|
||||
{{/each}}
|
||||
|
||||
## B. Document History
|
||||
|
||||
| Version | Date | Author | Changes |
|
||||
|---------|------|--------|---------|
|
||||
| 1.0 | {{generated_date}} | {{generator_product}} | Initial generation |
|
||||
|
||||
---
|
||||
|
||||
*This document was automatically generated by **{{generator_product}}** v{{generator_version}} on {{generated_at}}*
|
||||
|
|
@ -0,0 +1,77 @@
|
|||
# {{get (get (get solution 0) "data") "name"}} - Solution Impact Document (SID)
|
||||
{{#each solution}}
|
||||
|
||||
## Solution
|
||||
|
||||
{{#with (get data "solution") }}
|
||||
Name: {{name}}
|
||||
Problem Statement: {{problem_statement}}
|
||||
Solution Id: {{identifier}}
|
||||
{{/with}}
|
||||
Program Id: {{get (get data "program") "identifier"}}
|
||||
|
||||
**This impact solution design is still in draft**
|
||||
|
||||
## Project
|
||||
|
||||
{{#each (get data "project")}}
|
||||
- Name: {{name}}
|
||||
- Identifier: {{identifier}}
|
||||
- Budget: {{budget}}
|
||||
- Guide: {{guide}}
|
||||
{{/each}}
|
||||
|
||||
## Applications
|
||||
|
||||
| Name | ID | Type | Framework |
|
||||
|------|----|------|-----------|
|
||||
{{#each (get data "applications")}}
|
||||
| {{name}} | {{identifier}} | {{type}} | {{framework}} |
|
||||
{{/each}}
|
||||
|
||||
## Impact
|
||||
|
||||
The impact of the solution is rated as follows for each domain
|
||||
|
||||
| Domain | Impact | Commentary | Additional |
|
||||
|--------|--------|------------|------------|
|
||||
{{#each (get data "impacts")}}
|
||||
| {{domain}} | {{impact}} | {{comment}} | {{additional_info}} |
|
||||
{{/each}}
|
||||
|
||||
---
|
||||
|
||||
## Program
|
||||
|
||||
{{#with (get data "program") }}
|
||||
The **{{name}}** program details are:
|
||||
|
||||
- Budget: {{budget}}
|
||||
- Identifier: {{identifier}}
|
||||
- Sponsor: {{get (get data "program") "sponsor"}}
|
||||
- Domain: {{get (get data "program") "domain"}}
|
||||
- Business case: {{get (get data "program") "guide"}}
|
||||
|
||||
| Phase | Timeframe | Commentary |
|
||||
|-------|-----------|------------|
|
||||
{{#each phases}}
|
||||
| {{name}} | {{timeframe}} | {{comment}} |
|
||||
{{/each}}
|
||||
|
||||
{{mdDiagram "overview_diagram.md" name}}
|
||||
{{/with}}
|
||||
|
||||
---
|
||||
|
||||
## Stakeholders
|
||||
|
||||
| Name | Title | Role |
|
||||
|------|-------|------|
|
||||
{{#each (get data "stakeholders")}}
|
||||
| {{name}} | {{title}} | {{role}} |
|
||||
{{/each}}
|
||||
{{/each}}
|
||||
|
||||
## Patterns
|
||||
|
||||
No new patterns are proposed
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
{
|
||||
"name": "tool",
|
||||
"description": "retrieve tool definitions from rediOps"
|
||||
"name": "dependency.tool",
|
||||
"description": "retrieve tool definitions from rediOps dependency section"
|
||||
}
|
||||
Loading…
Reference in New Issue