| Build și dezvoltare Motorul monorepo | Turborepo + pnpm workspaces Commit-uri atomice, configurări partajate, build-uri cu cache | Permite configurări TypeScript unificate, preseturi ESLint partajate și cache instantaneu al pipeline-ului de sarcini între @crwsync/backend, @crwsync/dash și @crwsync/web, reducând în același timp balonarea dependențelor prin izolare strictă cu legături simbolice. |
| API de bază Framework de server | NestJS 11 (TypeScript) DI modular strict, DTO-uri tipizate, protecții RBAC personalizate | Arhitectură enterprise, cu injecție declarativă a dependențelor, sanitizare a datelor de intrare cu class-validator și protecții de execuție componibile, care impun RBAC pe două niveluri atât în controlerele REST, cât și în gateway-urile Socket.IO. |
| Frontend Framework de client | Next.js 16 + React 19 Componente de server, primitive Radix UI, Tailwind CSS v4 | Combină paginile de prezentare randate pe server, extrem de rapide (@crwsync/web), cu un shell de aplicație client-side interactiv, accesibil și cu stare (@crwsync/dash), optimizat pentru un răspuns al interfeței sub 100 ms. |
| Timp real Stratul în timp real | Socket.IO + Redis 7 Pub/Sub Scalare orizontală WebSocket între replicile Swarm | Separă difuzările efemere din socket-uri de tranzacțiile relaționale din baza de date. Adaptorul Redis distribuie difuzările pe camere între mai multe replici NestJS, fără pierderi de pachete. |
| Fundal Procesare asincronă | BullMQ + Redis 7 Cozi de joburi tranzacționale decuplate, cu reîncercări și backoff | Izolează joburile grele de fundal (randarea e-mailurilor cu Handlebars, trimiterea token-urilor de invitație, generarea rezumatelor) de firele HTTP, prin politici configurabile de reîncercare exponențială și cozi dead-letter. |
| Persistență Bază de date | PostgreSQL 16 + Prisma 7 Driver @prisma/adapter-pg, integritate relațională | Garantează tranzacții ACID stricte pentru organizații, proiecte, tablouri și coloane de sarcini multi-tenant. Folosește driverul performant @prisma/adapter-pg, cu migrări automate ale schemei. |
| Stocare Stocare de obiecte | MinIO (dev) + compatibil S3 (prod) Încărcări presigned, acces limitat la spațiul de lucru | Deservește avatarele, atașamentele sarcinilor, media din chat și modulul dedicat Fișiere al spațiului de lucru. Ruta publică a avatarelor rămâne deschisă, în timp ce rutele fișierelor din spațiul de lucru rămân protejate prin autentificare, deoarece atașamentele sunt private pentru un spațiu de lucru. |
| DevOps Orchestrare | Docker Swarm stack.yml declarativ, actualizări rolling fără întrerupere, limite de memorie | Orchestrare ușoară a containerelor prin daemonul Docker nativ, fără povara Kubernetes. Oferă rețele overlay izolate, verificări automate de stare, implementări rolling fără întrerupere și plafoane de 512 MB RAM. |