2. Architecture Constraints
2.1 Technical Constraints
| Constraint |
Background |
| Backend in Kotlin with a lightweight container, preferred: Quarkus |
Project decision (alternatives may be discussed → ADR) |
| Persistence in PostgreSQL with jOOQ as abstraction layer |
Project decision |
| Document files initially on the file system; storage behind an interface that allows moving to an S3-compatible store later |
Project decision |
| External interfaces as REST; interface layer prepared for a future MCP extension |
Project decision |
| Frontend: Angular, multi-language support required (Swiss language regions, possibly EU) |
ADR-0007 |
| git for development version control; optionally also for QMS functionality itself |
Project decision |
2.2 Organizational Constraints
| Constraint |
Background |
| Development process follows IEC 62304 |
See process/ |
| Architecture documentation follows arc42, including ADRs, tracked in git next to the code |
Project decision |
| Documentation must support AI-assisted development (session recovery, parallel agents) |
See ai/ |
2.3 Conventions
- Documentation language: English, format: Markdown (see docs/README.md).
TBD: coding conventions, branching model.