| Build y desarrollo Motor del monorepo | Turborepo + pnpm workspaces Commits atómicos, configuraciones compartidas, compilaciones en caché | Permite configuraciones de TypeScript unificadas, presets de ESLint compartidos y almacenamiento en caché instantáneo del pipeline de tareas entre @crwsync/backend, @crwsync/dash y @crwsync/web, a la vez que reduce el exceso de dependencias mediante un aislamiento estricto con enlaces simbólicos. |
| API principal Framework de servidor | NestJS 11 (TypeScript) DI modular estricta, DTO tipados, guards RBAC personalizados | Arquitectura empresarial con inyección de dependencias declarativa, saneamiento de entradas con class-validator y guards de ejecución componibles que aplican un RBAC de doble capa tanto en los controladores REST como en los gateways de Socket.IO. |
| Frontend Framework de cliente | Next.js 16 + React 19 Componentes de servidor, primitivas de Radix UI, Tailwind CSS v4 | Combina páginas de aterrizaje renderizadas en el servidor y rapidísimas (@crwsync/web) con un shell de aplicación del lado del cliente, muy interactivo, accesible y con estado (@crwsync/dash), optimizado para una respuesta de interfaz inferior a 100 ms. |
| Tiempo real Capa en tiempo real | Socket.IO + Redis 7 Pub/Sub Escalado horizontal de WebSockets entre réplicas de Swarm | Separa las difusiones efímeras por socket de las transacciones relacionales de la base de datos. El adaptador de Redis distribuye las difusiones de las salas entre varias réplicas de NestJS sin pérdida de paquetes. |
| Segundo plano Procesamiento asíncrono | BullMQ + Redis 7 Colas de trabajos transaccionales desacopladas con reintentos y backoff | Aísla los trabajos pesados en segundo plano (renderizado de correos con Handlebars, envío de tokens de invitación, generación de resúmenes) de los hilos HTTP, con políticas de reintento exponencial configurables y colas dead-letter. |
| Persistencia Base de datos | PostgreSQL 16 + Prisma 7 Controlador @prisma/adapter-pg, integridad relacional | Garantiza transacciones ACID estrictas para organizaciones multi-tenant, proyectos, tableros y columnas de tareas. Utiliza el controlador de alto rendimiento @prisma/adapter-pg con migraciones de esquema automatizadas. |
| Almacenamiento Almacenamiento de objetos | MinIO (dev) + compatible con S3 (prod) Subidas presigned, acceso limitado al espacio de trabajo | Sirve avatares, adjuntos de tareas, contenido multimedia del chat y el módulo dedicado de Archivos del espacio de trabajo. La ruta pública de avatares permanece abierta, mientras que las rutas de archivos del espacio de trabajo siguen protegidas por autenticación, ya que los adjuntos son privados para cada espacio de trabajo. |
| DevOps Orquestación | Docker Swarm stack.yml declarativo, actualizaciones progresivas sin tiempo de inactividad, límites de memoria | Orquestación ligera de contenedores mediante el demonio nativo de Docker, sin la sobrecarga de Kubernetes. Incluye redes overlay aisladas, comprobaciones de estado automáticas, despliegues progresivos sin tiempo de inactividad y topes de 512 MB de RAM. |