first commit
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
# Architecture Decision Records
|
||||
|
||||
This directory contains Architecture Decision Records (ADRs) for this project. ADRs document significant architectural decisions — what was decided, why, and what trade-offs were accepted.
|
||||
|
||||
## Index
|
||||
|
||||
| ADR | Title | Status |
|
||||
|-----|-------|--------|
|
||||
| [0001](0001-adopt-traditional-layered-architecture.md) | Adopt Traditional Layered Architecture | Accepted (Under Reconsideration) |
|
||||
| [0002](0002-use-mvc-controllers-over-minimal-api.md) | Use MVC Controllers over Minimal API | Accepted |
|
||||
| [0003](0003-use-sqlite-for-data-storage.md) | Use SQLite for Data Storage | Superseded by ADR-0014 |
|
||||
| [0004](0004-use-uuid-as-database-primary-key.md) | Use UUID as Database Primary Key | Accepted |
|
||||
| [0005](0005-use-squad-number-as-api-mutation-key.md) | Use Squad Number as API Mutation Key | Accepted |
|
||||
| [0006](0006-use-rfc-7807-problem-details-for-errors.md) | Use RFC 7807 Problem Details for Errors | Accepted |
|
||||
| [0007](0007-use-fluentvalidation-over-data-annotations.md) | Use FluentValidation over Data Annotations | Accepted |
|
||||
| [0008](0008-use-automapper-for-dto-mapping.md) | Use AutoMapper for DTO Mapping | Accepted |
|
||||
| [0009](0009-implement-in-memory-caching.md) | Implement In-Memory Caching | Accepted |
|
||||
| [0010](0010-use-serilog-for-structured-logging.md) | Use Serilog for Structured Logging | Accepted |
|
||||
| [0011](0011-use-docker-for-containerization.md) | Use Docker for Containerization | Accepted |
|
||||
| [0012](0012-use-stadium-themed-semantic-versioning.md) | Use Stadium-Themed Semantic Versioning | Accepted |
|
||||
| [0013](0013-testing-strategy.md) | Testing Strategy | Accepted |
|
||||
| [0014](0014-configurable-database-provider.md) | Configurable Database Provider | Accepted |
|
||||
| [0015](0015-use-full-replace-put-no-patch.md) | Use Full-Replace PUT as the Partial Update Strategy | Accepted |
|
||||
| [0016](0016-ai-assisted-development-workflow.md) | Adopt AI-Assisted Development Workflow | Accepted |
|
||||
| [0017](0017-spec-driven-development.md) | Adopt Spec-Driven Development (SDD) | Accepted |
|
||||
|
||||
## When to Create an ADR
|
||||
|
||||
Create an ADR when a decision affects:
|
||||
|
||||
- Project structure or overall architecture
|
||||
- Technology choices or dependencies
|
||||
- API contracts or data model design
|
||||
- Non-functional requirements (performance, security, scalability)
|
||||
- Development workflows or processes
|
||||
|
||||
## Template
|
||||
|
||||
```markdown
|
||||
# [NUMBER]. [TITLE]
|
||||
|
||||
Date: YYYY-MM-DD
|
||||
|
||||
## Status
|
||||
|
||||
[Proposed | Accepted | Deprecated | Superseded by ADR-XXXX]
|
||||
|
||||
## Context
|
||||
|
||||
What is the issue we are facing? What forces are at play (technical, political,
|
||||
social, project constraints)? Present facts neutrally without bias.
|
||||
|
||||
## Decision
|
||||
|
||||
We will [DECISION IN ACTIVE VOICE WITH FULL SENTENCES].
|
||||
|
||||
## Consequences
|
||||
|
||||
### Positive
|
||||
- Consequence 1
|
||||
|
||||
### Negative
|
||||
- Trade-off 1
|
||||
|
||||
### Neutral
|
||||
- Other effect 1
|
||||
```
|
||||
Reference in New Issue
Block a user