Seekube v3
Retour au blog
SSRRendu côté serveur à chaque requête · 05/08/2026 16:06:53
ArchitectureNestJSPatterns

Patterns d'architecture dans Seekube v3

2025-02-038 min de lecture

Seekube v3 applique une architecture en couches avec une règle de dépendance unidirectionnelle stricte : controllers → use-cases → services/repositories → database. Aucune couche ne peut importer depuis une couche supérieure.

Use-cases

Chaque opération métier est encapsulée dans un use-case. Les use-cases faillibles retournent Result<T, E> via la librairie neverthrow — jamais de throw depuis l'intérieur d'un use-case. Cela rend les erreurs explicites et traçables.

Repositories

Les repositories abstraient l'accès aux données et mappent les entités ORM vers des objets domaine. Ils injectent EntityRepository et EntityManager de MikroORM. La logique de mapping reste localisée dans la couche repository.

DTOs

Les DTOs utilisent nestjs-zod avec createZodDto. La validation est appliquée automatiquement par ZodValidationPipe au niveau du controller. Aucun decorator class-validator n'est autorisé.

Invariants

Ces règles sont vérifiées en CI via des checks d'architecture. Une PR qui viole l'une d'elles sera bloquée avant merge.