# NFR Requirements — Unit 04: API Shell & Integration Dit document specificeert de non-functionele vereisten voor de API Shell. ## 1. Performance (SHELL-PERF) - **SHELL-PERF-01: Startup Tijd**: - Hoewel de startup tijd niet kritisch is (> 5 sec toegestaan), moet de `ModuleOrchestrator` efficiënt scannen om onnodige vertragingen te voorkomen. - **SHELL-PERF-02: Pipeline Efficiency**: - De orkestratie van middleware mag geen significante overhead toevoegen aan de verwerking van individuele requests. ## 2. Beveiliging (SHELL-SEC) - **SHELL-SEC-01: CORS**: - CORS moet worden geconfigureerd via `appsettings.json`. De default instelling voor productie moet strikt zijn (geen wildcards). - **SHELL-SEC-02: HTTPS**: - De API Shell moet HTTPS afdwingen via `app.UseHttpsRedirection()`. - **SHELL-SEC-03: JWT Configuratie**: - De Shell is verantwoordelijk voor het correct configureren van de `JwtBearerAuthentication` met de keys en settings die in Unit 02 zijn gedefinieerd. ## 3. Bruikbaarheid (SHELL-USAB) - **SHELL-USAB-01: Swagger**: - Swagger UI moet volledig interactief zijn, inclusief ondersteuning voor JWT Bearer authenticatie (Authorize knop). - Alle endpoints moeten duidelijk gedocumenteerd zijn met hun verwachte input en output modellen. ## 4. Onderhoudbaarheid (SHELL-MAINT) - **SHELL-MAINT-01: Logging Aggregatie**: - Alle logs van modules moeten worden geaggregeerd naar de centrale logging provider van de Shell. - Contextuele informatie (zoals de module naam) moet aan de logs worden toegevoegd voor betere traceerbaarheid.