| Build et dev Moteur monorepo | Turborepo + pnpm workspaces Commits atomiques, configurations partagées, builds en cache | Permet des configurations TypeScript unifiées, des presets ESLint partagés et une mise en cache instantanée du pipeline de tâches entre @crwsync/backend, @crwsync/dash et @crwsync/web, tout en limitant l’inflation des dépendances grâce à une isolation stricte par liens symboliques. |
| API centrale Framework serveur | NestJS 11 (TypeScript) DI modulaire stricte, DTO typés, guards RBAC sur mesure | Architecture d’entreprise avec injection de dépendances déclarative, assainissement des entrées par class-validator et guards d’exécution composables qui appliquent un RBAC à deux niveaux, tant sur les contrôleurs REST que sur les gateways Socket.IO. |
| Frontend Framework client | Next.js 16 + React 19 Composants serveur, primitives Radix UI, Tailwind CSS v4 | Allie des pages d’accueil rendues côté serveur ultra-rapides (@crwsync/web) à un shell applicatif côté client très interactif, accessible et avec état (@crwsync/dash), optimisé pour un retour d’interface inférieur à 100 ms. |
| Temps réel Couche temps réel | Socket.IO + Redis 7 Pub/Sub Montée en charge horizontale des WebSockets sur les réplicas Swarm | Sépare les diffusions éphémères par socket des transactions relationnelles de la base de données. L’adaptateur Redis distribue les diffusions de salons entre plusieurs réplicas NestJS, sans perte de paquets. |
| Arrière-plan Traitement asynchrone | BullMQ + Redis 7 Files de tâches transactionnelles découplées avec backoff de réessai | Isole les tâches lourdes d’arrière-plan (rendu d’e-mails Handlebars, envoi des jetons d’invitation, génération de résumés) des threads HTTP, avec des politiques de réessai exponentielles configurables et des files dead-letter. |
| Persistance Base de données | PostgreSQL 16 + Prisma 7 Pilote @prisma/adapter-pg, intégrité relationnelle | Garantit des transactions ACID strictes pour les organisations multi-tenant, les projets, les tableaux et les colonnes de tâches. Utilise le pilote performant @prisma/adapter-pg avec des migrations de schéma automatisées. |
| Stockage Stockage d’objets | MinIO (dev) + compatible S3 (prod) Téléversements presigned, accès limité à l’espace de travail | Alimente les avatars, les pièces jointes de tâches, les médias du chat et le module Fichiers dédié de l’espace de travail. La route publique des avatars reste ouverte, tandis que les routes de fichiers de l’espace de travail restent protégées par authentification, puisque les pièces jointes sont privées pour un espace de travail. |
| DevOps Orchestration | Docker Swarm stack.yml déclaratif, mises à jour progressives sans interruption, limites de mémoire | Orchestration de conteneurs légère via le démon Docker natif, sans la lourdeur de Kubernetes. Propose des réseaux overlay isolés, des vérifications de santé automatiques, des déploiements progressifs sans interruption et des plafonds de 512 Mo de RAM. |