2.3 KiB
2.3 KiB
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]