Initial commit
This commit is contained in:
94
skills/session-management/assets/architecture-template.md
Normal file
94
skills/session-management/assets/architecture-template.md
Normal file
@@ -0,0 +1,94 @@
|
||||
# Project Architecture
|
||||
|
||||
## Architecture Pattern
|
||||
|
||||
**Pattern**: [Hexagonal / Layered / Microservices / MVC / Clean / DDD]
|
||||
|
||||
### Core Principles
|
||||
- [Principle 1]
|
||||
- [Principle 2]
|
||||
- [Principle 3]
|
||||
|
||||
## Project Structure
|
||||
|
||||
```
|
||||
[Your project structure here]
|
||||
|
||||
Example for hexagonal:
|
||||
src/
|
||||
├── domain/ # Business logic (no external dependencies)
|
||||
│ ├── models/ # Domain models
|
||||
│ ├── services/ # Business services
|
||||
│ └── exceptions/ # Domain exceptions
|
||||
├── ports/ # Interface definitions (contracts)
|
||||
│ ├── repositories/ # Data access interfaces
|
||||
│ └── providers/ # External service interfaces
|
||||
├── adapters/ # External integrations
|
||||
│ ├── database/ # Database implementations
|
||||
│ ├── api/ # External API clients
|
||||
│ └── messaging/ # Message queue adapters
|
||||
└── application/ # Use case orchestration
|
||||
└── usecases/ # Application use cases
|
||||
```
|
||||
|
||||
## Key Interfaces
|
||||
|
||||
List the important interfaces/contracts in your system:
|
||||
|
||||
- **[IRepository]**: [Description]
|
||||
- **[IService]**: [Description]
|
||||
- **[IProvider]**: [Description]
|
||||
|
||||
## Architectural Decisions
|
||||
|
||||
Document major architectural decisions:
|
||||
|
||||
### Decision 1: [Title]
|
||||
**Date**: [YYYY-MM-DD]
|
||||
**Context**: [Why this was needed]
|
||||
**Decision**: [What was decided]
|
||||
**Rationale**: [Why this approach]
|
||||
|
||||
### Decision 2: [Title]
|
||||
**Date**: [YYYY-MM-DD]
|
||||
**Context**: [Why this was needed]
|
||||
**Decision**: [What was decided]
|
||||
**Rationale**: [Why this approach]
|
||||
|
||||
## Patterns & Practices
|
||||
|
||||
### Design Patterns Used
|
||||
- **[Pattern Name]**: [Where and why used]
|
||||
- **[Pattern Name]**: [Where and why used]
|
||||
|
||||
### Best Practices
|
||||
- [Practice 1]
|
||||
- [Practice 2]
|
||||
- [Practice 3]
|
||||
|
||||
## Dependencies Flow
|
||||
|
||||
Describe how dependencies flow in your architecture:
|
||||
|
||||
```
|
||||
[Dependency flow diagram or description]
|
||||
|
||||
Example for hexagonal:
|
||||
Outside → Adapters → Ports → Domain
|
||||
↑ ↓
|
||||
← Application ←──────
|
||||
```
|
||||
|
||||
## Testing Strategy
|
||||
|
||||
- **Unit Tests**: [What to unit test and how]
|
||||
- **Integration Tests**: [Integration boundaries]
|
||||
- **E2E Tests**: [End-to-end scenarios]
|
||||
|
||||
## Notes for Developers
|
||||
|
||||
Additional guidance for developers working in this codebase:
|
||||
|
||||
- [Important note 1]
|
||||
- [Important note 2]
|
||||
- [Important note 3]
|
||||
Reference in New Issue
Block a user