michangarrito/docs/01-epicas/MCH-001-infraestructura-base.md
rckrdmrd e493017e86 [MCH-DOC-VAL] docs: Validacion documental inicial
Cambios aplicados:
- MASTER_INVENTORY.yml: Sincronizados conteos (tablas 47, controllers 20, entities 37)
- _inheritance.yml: Corregido stack tecnologico (NestJS, React 19.2.0)
- MCH-001: Estandarizada con HU formales (MCH-US-XXX), Story Points, Criterios de Aceptacion
- Creado PLAN-VALIDACION-DOCUMENTAL-2026-01-17.md con plan de tareas

Tarea: MCH-DOC-VAL-2026-01-17

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-17 04:19:07 -06:00

5.3 KiB

id type title code status phase priority story_points created_at updated_at simco_version dependencies
EPIC-MCH-001 Epic MCH-001: Infraestructura Base MCH-001 Completado 1 P0 8 2026-01-04 2026-01-17 4.0.1
blocks depends_on
MCH-002
MCH-003
MCH-010

MCH-001: Infraestructura Base

Metadata

  • Codigo: MCH-001
  • Fase: 1 - MVP Core
  • Prioridad: P0
  • Estado: Completado
  • Story Points: 8
  • Fecha inicio: 2026-01-04
  • Fecha fin: 2026-01-05

Descripcion

Setup inicial del proyecto MiChangarrito incluyendo estructura monorepo, configuracion de base de datos PostgreSQL multi-tenant, pipelines CI/CD, y entornos de desarrollo.

Objetivos

  1. Establecer estructura de proyecto monorepo
  2. Configurar PostgreSQL con multi-tenant (RLS)
  3. Setup de entornos de desarrollo
  4. Configurar CI/CD basico

Alcance

Incluido

  • Estructura de carpetas monorepo (apps/, database/, docs/)
  • PostgreSQL con schemas separados
  • Scripts de recreacion de BD
  • Docker Compose para desarrollo
  • GitHub Actions basico

Excluido

  • Deployment a produccion
  • Kubernetes (futuro)
  • Monitoring avanzado

Arquitectura

michangarrito/
├── apps/
│   ├── backend/          # NestJS API
│   ├── web/              # React Dashboard
│   ├── mobile/           # Expo App
│   ├── mcp-server/       # Gateway LLM
│   └── whatsapp-service/ # Bot WhatsApp
├── database/
│   ├── schemas/          # DDL files
│   ├── seeds/            # Data inicial
│   └── *.sh              # Scripts
├── docs/
└── orchestration/

Entregables

Entregable Estado Archivo/Ubicacion
Estructura monorepo Completado projects/michangarrito/
DDL base PostgreSQL Completado database/schemas/00-02.sql
Scripts BD Completado database/*.sh
Docker Compose Completado docker-compose.yml

Dependencias

Depende de

  • Ninguna (epica inicial)

Bloquea a

  • MCH-002 (Auth)
  • MCH-003 (Productos)
  • MCH-010 (MCP Server)

Criterios de Aceptacion

  • Estructura de carpetas creada
  • PostgreSQL ejecutandose con schemas
  • Script drop-and-recreate funcional
  • Extensiones uuid-ossp, pgcrypto habilitadas
  • Funcion current_tenant_id() operativa

Notas Tecnicas

  • Puerto PostgreSQL: 5432
  • Puerto Redis: 6379
  • Base de datos: michangarrito_platform
  • Multi-tenant: Via tenant_id + RLS

Historias de Usuario

MCH-US-001: Estructura Monorepo

Como desarrollador Quiero una estructura de proyecto monorepo bien organizada Para poder trabajar eficientemente en multiples apps del mismo proyecto

Story Points: 3

Criterios de Aceptacion:

  • [CA-001-1] Carpeta apps/ con backend, web, mobile, mcp-server, whatsapp-service
  • [CA-001-2] Carpeta database/ con schemas, seeds, scripts
  • [CA-001-3] Carpeta docs/ con documentacion estructurada
  • [CA-001-4] Carpeta orchestration/ con inventarios y trazas
  • [CA-001-5] Archivo .env.example con variables requeridas

Tareas:

ID Tarea Tipo Estado
MCH-TT-001-01 Crear estructura de carpetas Setup Completado
MCH-TT-001-02 Configurar .gitignore Setup Completado
MCH-TT-001-03 Crear .env.example Setup Completado

MCH-US-002: Base de Datos Multi-Tenant

Como arquitecto Quiero PostgreSQL configurado con multi-tenant via RLS Para asegurar aislamiento de datos entre negocios

Story Points: 3

Criterios de Aceptacion:

  • [CA-002-1] PostgreSQL 16+ ejecutandose en puerto 5432
  • [CA-002-2] Extensiones uuid-ossp, pgcrypto habilitadas
  • [CA-002-3] 11 schemas creados (public, auth, catalog, sales, etc.)
  • [CA-002-4] RLS habilitado en tablas con tenant_id
  • [CA-002-5] Funcion current_tenant_id() operativa

Tareas:

ID Tarea Tipo Estado
MCH-TT-002-01 DDL 00-extensions.sql DDL Completado
MCH-TT-002-02 DDL 01-schemas.sql DDL Completado
MCH-TT-002-03 DDL 02-functions.sql DDL Completado
MCH-TT-002-04 DDL 03-public.sql (tenants) DDL Completado

MCH-US-003: Scripts de Base de Datos

Como DevOps Quiero scripts para recrear la BD facilmente Para poder resetear el ambiente de desarrollo rapidamente

Story Points: 2

Criterios de Aceptacion:

  • [CA-003-1] Script create-database.sh funcional
  • [CA-003-2] Script recreate-database.sh funcional
  • [CA-003-3] Scripts ejecutables desde cualquier directorio

Tareas:

ID Tarea Tipo Estado
MCH-TT-003-01 Crear script create-database.sh DevOps Completado
MCH-TT-003-02 Crear script recreate-database.sh DevOps Completado
MCH-TT-003-03 Documentar uso de scripts Docs Completado

Resumen de Story Points

Historia SP Estado
MCH-US-001: Estructura Monorepo 3 Completado
MCH-US-002: Base de Datos Multi-Tenant 3 Completado
MCH-US-003: Scripts de Base de Datos 2 Completado
Total 8 100%

Ultima actualizacion: 2026-01-17 Estandarizado por: Validacion Documental MCH-DOC-VAL-2026-01-17