# Functional Design Plan — Unit 04: API Shell & Integration Dit plan beschrijft de stappen voor het functioneel ontwerpen van de API Shell (Unit 04), die alle modules samenbrengt. ## Functional Design Stappen - [x] Ontwerpen van de `ModuleOrchestrator` voor dynamische discovery en registratie. - [x] Definiëren van de globale `Program.cs` structuur (Dependency Injection & Pipeline). - [x] Uitwerken van de JWT Bearer configuratie en Swagger integratie. - [x] Ontwerpen van de globale foutafhandeling integratie (GlobalExceptionHandler). - [x] Opstellen van de integratie-regels voor cross-module communicatie. ## Vragen voor Functional Design (Unit 04) ### 1. Swagger Documentatie **Vraag 1.1**: Hoe moeten de verschillende modules in Swagger worden weergegeven? - A) **Gecombineerd**: Eén grote lijst met alle endpoints van alle modules door elkaar. - B) **Gegroepeerd per Module**: Gebruik Swagger 'Docs' of 'Tags' om endpoints per module (bijv. Identity, Availability) te groeperen. ### 2. Startup Volgorde **Vraag 2.1**: Moeten modules in een specifieke volgorde geladen worden? - A) Nee, de volgorde is willekeurig (behalve Core). - B) Ja, we hebben een expliciete `LoadOrder` eigenschap nodig in de `IModule` interface. ### 3. API Versiebeheer **Vraag 3.1**: Moeten we API Versioning (bijv. `/api/v1/...`) direct integreren in de Shell? - A) Ja, configureer globale versiebeheer (v1) voor de hele API. - B) Nee, voor de MVP is geen versiebeheer nodig in het pad. ## Volgende Stappen Na beantwoording van deze vragen worden de artifacts gegenereerd in `aidlc-docs/construction/api-shell/functional-design/`.