39 lines
706 B
Markdown
39 lines
706 B
Markdown
# API File Structure (Strict)
|
||
|
||
This document defines the canonical **physical** structure for `apps/api/**`.
|
||
|
||
It describes where code lives, not the full behavioral rules.
|
||
|
||
## 1) API is feature-based
|
||
|
||
The API is organized by feature modules.
|
||
|
||
```text
|
||
apps/api/
|
||
src/
|
||
domain/
|
||
shared/
|
||
```
|
||
|
||
Within feature modules:
|
||
|
||
```text
|
||
apps/api/src/domain/<feature>/
|
||
<Feature>Controller.ts
|
||
<Feature>Service.ts
|
||
<Feature>Module.ts
|
||
dto/
|
||
presenters/
|
||
```
|
||
|
||
## 2) What belongs where (strict)
|
||
|
||
- Controllers: HTTP boundary only
|
||
- DTOs: HTTP contracts only
|
||
- Presenters: map Core results response DTOs
|
||
|
||
API flow rules:
|
||
|
||
- [`docs/architecture/api/API_DATA_FLOW.md`](docs/architecture/api/API_DATA_FLOW.md:1)
|
||
|