New projects created: - michangarrito (marketplace mobile) - template-saas (SaaS template) - clinica-dental (dental ERP) - clinica-veterinaria (veterinary ERP) Architecture updates: - Move catalog from core/ to shared/ - Add MCP servers structure and templates - Add git management scripts - Update SUBREPOSITORIOS.md with 15 new repos - Update .gitignore for new projects Repository infrastructure: - 4 main repositories - 11 subrepositorios - Gitea remotes configured 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
178 lines
6.4 KiB
Markdown
178 lines
6.4 KiB
Markdown
# 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
|