# Shared - Recursos Compartidos **Version:** 2.0.0 **Actualizado:** 2026-01-04 ## Descripcion El directorio `shared/` contiene todos los **recursos compartidos** del workspace: codigo reutilizable, catalogo de funcionalidades, tipos, constantes, y base de conocimiento con documentacion. ## Estructura ``` shared/ ├── README.md # Este archivo │ ├── catalog/ # Catalogo de funcionalidades reutilizables │ ├── auth/ # Autenticacion JWT + Passport │ ├── session-management/ # Gestion de sesiones │ ├── rate-limiting/ # Limitacion de tasa │ ├── notifications/ # Sistema de notificaciones │ ├── multi-tenancy/ # Soporte multi-tenant con RLS │ ├── feature-flags/ # Feature flags dinamicos │ ├── websocket/ # Comunicacion WebSocket │ ├── payments/ # Integracion con Stripe │ ├── audit-logs/ # Logs de auditoria │ ├── portales/ # Portales multi-tenant │ ├── template-saas/ # Template SaaS completo │ ├── CATALOG-INDEX.yml # Indice maestro │ └── README.md │ ├── modules/ # Codigo ejecutable compartido │ ├── utils/ # Utilidades (date, string, validation) │ ├── auth/ # Modulo de autenticacion │ ├── billing/ # Modulo de facturacion │ ├── notifications/ # Modulo de notificaciones │ ├── payments/ # Modulo de pagos │ ├── multitenant/ # Modulo multi-tenancy │ └── package.json │ ├── constants/ # Constantes globales TypeScript │ ├── enums.constants.ts # Enums universales │ ├── regex.constants.ts # Patrones regex │ └── index.ts │ ├── types/ # Tipos TypeScript compartidos │ ├── api.types.ts # Tipos de API │ ├── common.types.ts # Tipos comunes │ └── index.ts │ └── knowledge-base/ # Base de conocimiento ├── modules/ # Documentacion de modulos ├── platforms/ # Plataformas base (SaaS, ERP, etc.) ├── projects/ # Proyectos de referencia ├── standards/ # Estandares tecnicos ├── architecture/ # Patrones arquitectonicos ├── patterns/ # Patrones de desarrollo ├── propagacion/ # Sistema de propagacion ├── templates/ # Templates ├── reference/ # Referencias legacy ├── CATALOGO-MODULOS.yml # Catalogo de 37 modulos ├── TRAZABILIDAD-PROYECTOS.yml └── README.md ``` ## Uso ### Catalogo de Funcionalidades ```bash # Buscar funcionalidad disponible cat shared/catalog/CATALOG-INDEX.yml # Consultar implementacion especifica cat shared/catalog/auth/README.md cat shared/catalog/auth/IMPLEMENTATION.md ``` ### Importar Modulos ```typescript // Utilidades import { formatDate, slugify, isEmail } from '@shared/modules/utils'; // Constantes import { UserStatus, PaymentStatus } from '@shared/constants'; import { EMAIL_REGEX, UUID_REGEX } from '@shared/constants/regex.constants'; // Tipos import { ApiResponse, PaginatedResponse } from '@shared/types'; import { BaseEntity, Address } from '@shared/types/common.types'; ``` ### Knowledge Base ```bash # Ver catalogo de modulos cat shared/knowledge-base/CATALOGO-MODULOS.yml # Ver trazabilidad de proyectos cat shared/knowledge-base/TRAZABILIDAD-PROYECTOS.yml # Consultar documentacion de modulo cat shared/knowledge-base/modules/authentication/_INDEX.md ``` ## Aliases ```yaml # Catalogo @CATALOG: shared/catalog/ @CATALOG_INDEX: shared/catalog/CATALOG-INDEX.yml @CATALOG_AUTH: shared/catalog/auth/ @CATALOG_SESSION: shared/catalog/session-management/ @CATALOG_RATELIMIT: shared/catalog/rate-limiting/ @CATALOG_NOTIFY: shared/catalog/notifications/ @CATALOG_TENANT: shared/catalog/multi-tenancy/ @CATALOG_FLAGS: shared/catalog/feature-flags/ @CATALOG_WS: shared/catalog/websocket/ @CATALOG_PAYMENTS: shared/catalog/payments/ # Modulos @MODULES: shared/modules/ @MOD_UTILS: shared/modules/utils/ @MOD_AUTH: shared/modules/auth/ @MOD_NOTIFY: shared/modules/notifications/ @MOD_PAYMENTS: shared/modules/payments/ @MOD_BILLING: shared/modules/billing/ @MOD_TENANT: shared/modules/multitenant/ # Tipos y Constantes @CONSTANTS: shared/constants/ @TYPES: shared/types/ # Knowledge Base @KB: shared/knowledge-base/ @KB_MODULES: shared/knowledge-base/modules/ @KB_PLATFORMS: shared/knowledge-base/platforms/ @KB_PROJECTS: shared/knowledge-base/projects/ ``` ## Funcionalidades del Catalogo | Funcionalidad | Estado | Origen | Stack | |---------------|--------|--------|-------| | auth | Production-Ready | Gamilit | NestJS + JWT + Passport | | session-management | Production-Ready | Gamilit | NestJS + TypeORM | | rate-limiting | Production-Ready | Gamilit | NestJS + @nestjs/throttler | | notifications | Production-Ready | Gamilit | NestJS + Email/Push | | multi-tenancy | Production-Ready | Gamilit | NestJS + PostgreSQL RLS | | feature-flags | Production-Ready | Gamilit | NestJS + TypeORM | | websocket | Production-Ready | Trading | NestJS + Socket.io | | payments | Production-Ready | Trading | NestJS + Stripe | | audit-logs | Documentando | ERP | NestJS + TypeORM | | portales | Documentando | PMC | NestJS + Multi-tenant | | template-saas | Documentando | Workspace | Full-stack | ## Relacion con Proyectos Los proyectos en `projects/` pueden importar recursos de `shared/`: ``` projects/gamilit/ → usa shared/catalog/auth, shared/modules/utils projects/erp-core/ → usa shared/catalog/multi-tenancy projects/trading-platform/ → usa shared/catalog/websocket, payments ``` ## Ver Tambien - [Catalogo de Funcionalidades](catalog/README.md) - [Knowledge Base](knowledge-base/README.md) - [Core (Arquitectura)](../core/README.md) - [Control Plane (Governance)](../control-plane/README.md) --- **Mantenido por:** Architecture-Analyst **Ultima actualizacion:** 2026-01-04