workspace-v1/shared/knowledge-base/reference/erp-inmobiliaria-legacy/gamilit/backend
rckrdmrd 66161b1566 feat: Workspace-v1 complete migration with NEXUS v3.4
Sistema NEXUS v3.4 migrado con:

Estructura principal:
- core/orchestration: Sistema SIMCO + CAPVED (27 directivas, 28 perfiles)
- core/catalog: Catalogo de funcionalidades reutilizables
- shared/knowledge-base: Base de conocimiento compartida
- devtools/scripts: Herramientas de desarrollo
- control-plane/registries: Control de servicios y CI/CD
- orchestration/: Configuracion de orquestacion de agentes

Proyectos incluidos (11):
- gamilit (submodule -> GitHub)
- trading-platform (OrbiquanTIA)
- erp-suite con 5 verticales:
  - erp-core, construccion, vidrio-templado
  - mecanicas-diesel, retail, clinicas
- betting-analytics
- inmobiliaria-analytics
- platform_marketing_content
- pos-micro, erp-basico

Configuracion:
- .gitignore completo para Node.js/Python/Docker
- gamilit como submodule (git@github.com:rckrdmrd/gamilit-workspace.git)
- Sistema de puertos estandarizado (3005-3199)

Generated with NEXUS v3.4 Migration System
EPIC-010: Configuracion Git y Repositorios
2026-01-04 03:37:42 -06:00
..
migrations feat: Workspace-v1 complete migration with NEXUS v3.4 2026-01-04 03:37:42 -06:00
scripts feat: Workspace-v1 complete migration with NEXUS v3.4 2026-01-04 03:37:42 -06:00
src feat: Workspace-v1 complete migration with NEXUS v3.4 2026-01-04 03:37:42 -06:00
_MAP.md feat: Workspace-v1 complete migration with NEXUS v3.4 2026-01-04 03:37:42 -06:00
.env.vault feat: Workspace-v1 complete migration with NEXUS v3.4 2026-01-04 03:37:42 -06:00
.eslintrc.js feat: Workspace-v1 complete migration with NEXUS v3.4 2026-01-04 03:37:42 -06:00
.gitignore feat: Workspace-v1 complete migration with NEXUS v3.4 2026-01-04 03:37:42 -06:00
.prettierrc feat: Workspace-v1 complete migration with NEXUS v3.4 2026-01-04 03:37:42 -06:00
jest.config.js feat: Workspace-v1 complete migration with NEXUS v3.4 2026-01-04 03:37:42 -06:00
limpiar-referencias.sh feat: Workspace-v1 complete migration with NEXUS v3.4 2026-01-04 03:37:42 -06:00
nest-cli.json feat: Workspace-v1 complete migration with NEXUS v3.4 2026-01-04 03:37:42 -06:00
package-lock.json feat: Workspace-v1 complete migration with NEXUS v3.4 2026-01-04 03:37:42 -06:00
package.json feat: Workspace-v1 complete migration with NEXUS v3.4 2026-01-04 03:37:42 -06:00
README.md feat: Workspace-v1 complete migration with NEXUS v3.4 2026-01-04 03:37:42 -06:00
tsconfig.json feat: Workspace-v1 complete migration with NEXUS v3.4 2026-01-04 03:37:42 -06:00
tsconfig.paths.json feat: Workspace-v1 complete migration with NEXUS v3.4 2026-01-04 03:37:42 -06:00

GAMILIT Backend

Backend para la plataforma educativa gamificada GAMILIT.

Stack Técnico

  • Runtime: Node.js 18+
  • Framework: NestJS 11.1.8
  • Language: TypeScript 5.x (strict mode)
  • ORM: TypeORM 0.3.x (multi-datasource architecture)
  • Database: PostgreSQL 14+ (multi-schema: 11 schemas)
  • Auth: Supabase Auth + JWT
  • Validation: class-validator + class-transformer
  • Testing: Jest
  • Linting: ESLint + Prettier

Estructura

src/
├── shared/                  # Código compartido
│   ├── constants/          # Constantes (database.constants.ts, routes.constants.ts)
│   ├── database/           # TypeORM data sources (6 conexiones)
│   ├── decorators/         # Decoradores custom
│   ├── guards/             # Guards de autenticación/autorización
│   ├── interceptors/       # Interceptors de NestJS
│   └── types/              # TypeScript types compartidos
├── modules/                # Módulos de negocio (15 módulos)
│   ├── auth/               # Autenticación y autorización
│   ├── educational/        # Contenido educativo y ejercicios
│   ├── gamification/       # Sistema de gamificación
│   ├── progress/           # Tracking de progreso
│   ├── admin/              # Dashboard administrativo
│   ├── assignments/        # Sistema de asignaciones
│   ├── social/             # Features sociales (classrooms, teams, friendships)
│   ├── content/            # Gestión de contenido
│   ├── notifications/      # Notificaciones multi-canal
│   └── ...                 # Otros módulos
└── main.ts                 # Entry point NestJS

Arquitectura Multi-Datasource

El backend usa 6 conexiones TypeORM separadas para manejar la arquitectura multi-schema de PostgreSQL:

  • auth → schemas: auth, auth_management
  • educational → schema: educational_content
  • progress → schema: progress_tracking
  • social → schema: social_features
  • gamification → schema: gamification_system
  • content → schema: content_management

⚠️ Limitación importante: TypeORM NO soporta relaciones (@ManyToOne, @OneToMany, @OneToOne) entre entidades de diferentes data sources. Se deben usar UUIDs y hacer joins manuales en los services.

Ver documentación completa en: docs/90-transversal/inventarios/BACKEND_INVENTORY.yml (sección multi_datasource_architecture)

Scripts

npm run dev         # Desarrollo con hot reload (NestJS watch mode)
npm run build       # Build producción (TypeScript compilation)
npm run start       # Iniciar producción (dist/main.js)
npm run prod        # Producción con NODE_ENV=production
npm test            # Ejecutar tests (Jest)
npm run test:cov    # Tests con coverage
npm run lint        # Linter (ESLint)
npm run format      # Formatear código (Prettier)

Path Aliases (tsconfig.json)

  • @shared/*src/shared/*
  • @modules/*src/modules/*

Ejemplos:

import { DB_TABLES } from '@shared/constants/database.constants';
import { AuthService } from '@modules/auth/auth.service';

Endpoints API

  • Base URL: http://localhost:3006
  • Global Prefix: /api
  • Swagger Docs: http://localhost:3006/api/docs

Ejemplos:

  • POST /api/auth/login - Autenticación
  • GET /api/educational/modules - Listar módulos educativos
  • GET /api/educational/exercises - Listar ejercicios
  • GET /api/gamification/achievements - Achievements del usuario

Coverage Objetivo

  • Meta: ≥70% en branches, functions, lines, statements
  • Actual: ~30% (necesita mejora urgente)
  • Tests: 11 archivos de test actualmente

Ver más detalles en: docs/90-transversal/inventarios/BACKEND_INVENTORY.yml

Documentación Adicional

  • Inventario completo: docs/90-transversal/inventarios/BACKEND_INVENTORY.yml
  • Guía multi-datasource: Ver sección multi_datasource_architecture en inventario
  • Usuarios de prueba: apps/database/docs/GUIA-CARGA-USUARIOS-Y-PERFILES.md
  • Swagger API: http://localhost:3006/api/docs (cuando el servidor esté corriendo)