À propos du projet
Ce dépôt fournit un modèle de backend TypeScript prêt à la production conçu pour accélérer le développement en gérant la configuration de l'infrastructure et en appliquant une discipline architecturale. Construit sur Fastify, Awilix, Prisma et BullMQ, il organise le code en couches d'architecture propre stricte (Domain, Application, Infrastructure, Presentation, Composition Root) avec des dépendances pointant vers l'intérieur. Fondamentalement, ces limites de couches sont appliquées automatiquement en CI à l'aide de dependency-cruiser, empêchant ainsi la dérive architecturale.
Les fonctionnalités clés comprennent :
- **HTTP & API** : Fastify 5 avec validation Zod, points de terminaison versionnés, interface Swagger UI et gestion uniforme des erreurs.
- **Authentification & Sécurité** : hachage Argon2, jetons d'accès / rafraîchissement JWT, vérification d'e-mail, réinitialisation de mot de passe et catalogues de permissions à temps de compilation pour RBAC.
- **Persistance** : Prisma avec MariaDB, mettant en œuvre un modèle d'Unité de travail pour les transactions.
- **Travaux & Événements** : modèle de boîte de sortie transactionnelle, files d'attente BullMQ basées sur Redis et processus de travail dédié.
- **Observabilité** : journalisation Pino intégrée avec identifiants de corrélation, métriques Prometheus, traçage OpenTelemetry et pile Grafana / Loki / Tempo préconfigurée.
- **Qualité** : exigences de couverture à 100 % pour les couches de domaine / application, ESLint / Prettier et Testcontainers pour les tests d'intégration.
Le projet est fourni avec une tranche verticale de travail utilisateur / authentification / RBAC pour servir de référence pour l'ajout de nouvelles fonctionnalités. Il prend en charge la renommination facile via une seule variable d'environnement `APP_NAME` et comprend des configurations Docker Compose complètes pour le développement local.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.