Backend d'un systeme de video-surveillance dont le capteur est un iPhone recycle. Le probleme est simple, la structure est le sujet : - domain/ sans aucun import de framework (verifie par 7 regles ArchUnit qui tournent aussi pendant le docker build) - CQRS strict : write et read ne partagent ni modele ni port - AlarmDecision en sealed interface -> switch exhaustif verifie a la compilation, plutot qu'une chaine de if - Kafka en KRaft (Zookeeper est supprime depuis Kafka 4.0), cle de partition = deviceId pour garantir l'ordre par capteur - ErrorHandlingDeserializer + DLQ : un message malforme ne bloque pas le flux des evenements suivants - notification WebSocket differee apres commit, pour ne jamais afficher une intrusion qui partirait en rollback 31 tests au vert. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
16 lines
483 B
Text
16 lines
483 B
Text
# Copier en .env et renseigner avant le premier demarrage :
|
|
# cp .env.example .env && sed -i "s/CHANGEME/$(openssl rand -hex 24)/" .env
|
|
|
|
# Mot de passe PostgreSQL. Obligatoire : le compose refuse de demarrer sans.
|
|
DB_PASSWORD=CHANGEME
|
|
|
|
# Simulateur de capteur. A desactiver le jour ou le vrai iPhone POSTe
|
|
# sur /api/v1/sensor-events.
|
|
SIMULATOR_ENABLED=true
|
|
SIMULATOR_INTERVAL=8s
|
|
|
|
# Reglages de sensibilite de l'alarme.
|
|
ALARM_EXIT_DELAY=30s
|
|
ALARM_MIN_CONFIDENCE=60
|
|
|
|
LOG_LEVEL=INFO
|