Files

32 lines
1.9 KiB
Markdown

# NFR Design Plan — Unit 03: Availability Module
Dit plan beschrijft de stappen voor het technisch ontwerpen van de non-functional requirements voor Unit 03.
## NFR Design Stappen
- [x] Ontwerpen van de `AvailabilityMiddleware` en de bypass logica.
- [x] Definiëren van de `PersistentAvailabilityService` implementatie.
- [x] Uitwerken van het database schema voor de globale status.
- [x] Ontwerpen van de `AvailabilityController` endpoints (publiek status, beheer status).
- [x] Vastleggen van de integratie met de `AuditLogs` (Unit 02).
## Vragen voor NFR Design (Unit 03)
### 1. Middleware Registratie
**Vraag 1.1**: Waar moet de `AvailabilityMiddleware` in de pipeline worden geplaatst?
- A) **Helemaal vooraan**: Zelfs vóór de exception handler en logging (maximaal effectief, maar minder informatie bij fouten).
- B) **Na de Exception Handler**: Fouten in de check worden dan netjes afgevangen door de globale handler (Aanbevolen).
- C) **Na Authentication**: Dan weten we al wie de gebruiker is (nodig voor de bypass check), maar dan is de authenticatie overhead al geweest voor geblokkeerde requests.
### 2. Status Update Endpoint
**Vraag 2.1**: Hoe moet het endpoint voor het wijzigen van de status beveiligd worden?
- A) **Policy-based**: Gebruik de `OwnerOnly` policy (Unit 02).
- B) **Internal-only**: Alleen bereikbaar vanaf de lokale host of via een intern netwerk (minder flexibel voor cloud beheer).
### 3. Fallback Gedrag (Circuit Breaker)
**Vraag 3.1**: Als de database herhaaldelijk onbereikbaar is voor de status-check, hoe lang moet de fallback status (`Available`) worden aangehouden voordat we het opnieuw proberen?
- A) Elke request opnieuw proberen.
- B) Implementeer een eenvoudige circuit breaker (bijv. 30 seconden fallback na 3 opeenvolgende fouten).
## Volgende Stappen
Na beantwoording van deze vragen worden de technische ontwerpen gegenereerd in `aidlc-docs/construction/availability-module/nfr-design/`.