Décisions d’architecture¶
Chaque décision importante est consignée sous une forme courte : contexte, décision, conséquences. Une fiche n’est jamais réécrite une fois acceptée : une fiche ultérieure la remplace. Les fiches sont rédigées en anglais uniquement. Cette liste est construite à partir des fichiers de docs/adr/.
- 0001. Record architecture decisions; runtime dependencies
- 0002. A single service layer for web and API
- 0003. Web/API parity, checked by a test
- 0004. Versioned REST API, OpenAPI 3.1, cursor pagination
- 0005. UUID identifiers, timestamps, soft deletion
- 0006. Every query scoped to the user’s homes
- 0007. django-allauth, scoped API tokens, OAuth 2 later
- 0008. Background tasks with django-q2 and the ORM broker
- 0009. Design tokens in one JSON file
- 0010. Stable addresses for every record
- 0011. No external resources, strict CSP
- 0012. Configuration by environment, safe defaults
- 0013. English source, French shipped, no hard-coded strings
- 0014. Continuous integration and supply-chain security
- 0015. Container image and its publication
- 0016. Documentation site
- 0017. Visual system, brand and application shell
- 0018. Sign-in page: passkeys without a button, one button per provider
- 0019. Property-based tests with Hypothesis
- 0020. Household roles and invitations
- 0021. Single sign-on required per home
- 0022. Instance administrator without access to content
- 0023. Audit log, export, erasure and security emails
- 0024. Open sign-up and its anti-robot check
- 0025. Rate-limit counters and several web processes
- 0029. Rooms, items and room memory
- 0030. Photo storage and processing
- 0036. Export of rooms and photos, erasure of files with the home