Architecture
| File | Responsibility |
|---|---|
src/note.rs | The data, the inputs and their rules, and the two boundary traits |
src/memory.rs | A volatile in-process repository |
src/service.rs | The application boundary over any repository |
src/routes.rs | The only Axum module: parsing, status codes, JSON |
src/main.rs | The composition root and host |
Reading the wiring
The adapter (routes.rs) depends on the service; the service depends on the
NoteRepository port; the memory store implements that port. Nothing else
knows that HTTP exists, and the store is replaceable without touching either
the rules or the transport. That is the same shape the
application model describes — with one
slice instead of three.