# EPICA: EPIC-MMD-001 - Fundamentos

## Metadata

| Campo | Valor |
|-------|-------|
| **ID** | EPIC-MMD-001 |
| **Nombre** | Fundamentos de Taller Diesel |
| **Modulo** | fundamentos |
| **Fase** | Fase 1 - MVP |
| **Prioridad** | P0 (Critico) |
| **Estado** | Backlog |
| **Story Points** | 42 |
| **Sprint(s)** | Sprint 1-2 |

---

## Descripcion

Modulo base que establece la infraestructura para el sistema de taller diesel. Incluye configuracion multi-tenant por taller, roles especificos del negocio, catalogos de refacciones y servicios, y la estructura base de permisos.

**Extiende:** MGN-001 Auth, MGN-002 Users, MGN-003 Roles, MGN-004 Tenants, MGN-005 Catalogs

---

## Objetivo de Negocio

Establecer la base tecnologica que:
- Configure talleres como tenants independientes
- Defina roles especificos (mecanico, almacenista, recepcion, etc.)
- Integre catalogos de refacciones y servicios
- Soporte operacion multi-bahia por taller
- Prepare estructura para facturacion SAT

---

## Historias de Usuario

| ID | Historia | Prioridad | SP | Estado |
|----|----------|-----------|-----|--------|
| US-MMD001-001 | Como admin, quiero configurar mi taller como tenant para operar de forma independiente | P0 | 5 | Backlog |
| US-MMD001-002 | Como admin, quiero configurar roles de taller (mecanico, almacenista, recepcion) para asignar permisos | P0 | 5 | Backlog |
| US-MMD001-003 | Como admin, quiero configurar catalogo de servicios con precios para cotizar rapidamente | P0 | 8 | Backlog |
| US-MMD001-004 | Como admin, quiero configurar datos fiscales (RFC, regimen) para facturacion | P0 | 3 | Backlog |
| US-MMD001-005 | Como admin, quiero configurar bahias de trabajo para asignar ordenes | P0 | 5 | Backlog |
| US-MMD001-006 | Como sistema, quiero aplicar RLS por taller_id para aislar datos | P0 | 5 | Backlog |
| US-MMD001-007 | Como admin, quiero importar catalogos de refacciones desde Excel | P1 | 5 | Backlog |
| US-MMD001-008 | Como usuario, quiero cambiar de bahia sin cerrar sesion | P1 | 3 | Backlog |
| US-MMD001-009 | Como admin, quiero ver dashboard de uso del sistema | P2 | 3 | Backlog |

**Total Story Points:** 42 SP

---

## Criterios de Aceptacion de la Epica

**Funcionales:**
- [ ] Configuracion de taller con datos fiscales completos
- [ ] Roles predefinidos: Admin, JefeTaller, Mecanico, Almacenista, Recepcion
- [ ] Catalogo de servicios estandar cargado
- [ ] Bahias de trabajo configurables
- [ ] RLS implementado en todas las tablas
- [ ] Secuencias de folios para ordenes de servicio

**No Funcionales:**
- [ ] Aislamiento de datos 100% por taller
- [ ] Configuracion inicial < 20 minutos
- [ ] Tiempo de carga dashboard < 2 segundos

**Tecnicos:**
- [ ] Tests de seguridad (penetracion entre tenants)
- [ ] Seeders con datos de muestra
- [ ] Documentacion de API completa

---

## Dependencias

**Esta epica depende de:**
| Epica/Modulo | Estado | Bloqueante |
|--------------|--------|------------|
| MGN-001 Auth (Core) | Ready | Si |
| MGN-004 Tenants (Core) | Ready | Si |
| MGN-005 Catalogs (Core) | Ready | No |

**Esta epica bloquea:**
| Epica/Modulo | Razon |
|--------------|-------|
| EPIC-MMD-002 Ordenes | Requiere taller configurado |
| EPIC-MMD-003 Diagnosticos | Requiere roles y bahias |
| EPIC-MMD-004 Inventario | Requiere catalogos |
| EPIC-MMD-005 Vehiculos | Requiere tenant |
| Todos los MMD | Base del sistema |

---

## Desglose Tecnico

**Database:**
- [ ] Schema: `workshop_core` (extiende core_system)
- [ ] Tablas: 8 (talleres, bahias, service_catalogs, sequences, etc.)
- [ ] Funciones: 3 (get_taller_context, set_bahia_context)
- [ ] RLS Policies: Todas las tablas

**Backend:**
- [ ] Modulo: `workshop-core`
- [ ] Extiende: AuthModule, TenantsModule, CatalogsModule
- [ ] Entities: 8
- [ ] Endpoints: 18+
- [ ] Tests: 30+

**Frontend:**
- [ ] Paginas: 4 (TallerSetup, RolesConfig, CatalogosAdmin, BahiasConfig)
- [ ] Componentes: 10+
- [ ] Stores: 2 (tallerStore, catalogosStore)

---

## Roles Predefinidos de Taller

| Rol | Descripcion | Permisos Principales |
|-----|-------------|---------------------|
| SuperAdmin | Administrador global | Todo |
| AdminTaller | Admin de taller | Configuracion, usuarios, precios |
| JefeTaller | Jefe de taller | Asignacion ordenes, supervision |
| MecanicoDiesel | Mecanico | Ordenes asignadas, diagnosticos |
| Almacenista | Control almacen | Inventarios, movimientos |
| Recepcionista | Atencion cliente | Ordenes, cotizaciones, clientes |
| Contador | Area contable | Facturacion, reportes |

---

## Catalogos Predefinidos

### Servicios Estandar

| Codigo | Servicio | Unidad | Precio Base |
|--------|----------|--------|-------------|
| SRV-001 | Diagnostico Computarizado | Evento | $500 |
| SRV-002 | Cambio de Aceite | Evento | $350 |
| SRV-003 | Afinacion Mayor | Evento | $2,500 |
| SRV-004 | Reparacion Bomba Inyeccion | Hora | $450 |
| SRV-005 | Calibracion Inyectores | Evento | $800 |
| SRV-006 | Revision Sistema Electrico | Hora | $350 |

### Categorias de Refacciones

| Categoria | Descripcion |
|-----------|-------------|
| INY | Inyectores y bombas |
| FIL | Filtros |
| LUB | Lubricantes |
| ELE | Electrico |
| FRE | Frenos |
| SUS | Suspension |
| MOT | Motor |
| TRA | Transmision |

---

## Riesgos

| Riesgo | Probabilidad | Impacto | Mitigacion |
|--------|--------------|---------|------------|
| Dependencia erp-core no listo | Alta | Alto | Desarrollo con mocks |
| Catalogos incompletos | Media | Medio | Import Excel |
| Resistencia al cambio | Media | Medio | Capacitacion |

---

## Definition of Ready (DoR)

- [x] Historias de usuario definidas
- [x] Criterios de aceptacion claros
- [x] Dependencias identificadas
- [x] Estimacion completada
- [ ] Diseno tecnico aprobado
- [ ] Sin bloqueadores activos

## Definition of Done (DoD)

- [ ] Codigo implementado y revisado
- [ ] Tests pasando (unit, integration)
- [ ] Documentacion actualizada
- [ ] RLS verificado
- [ ] Demo realizada
- [ ] Product Owner aprobo

---

## Documentacion Relacionada

- Vision: `docs/00-vision-general/VISION.md`
- Requerimientos: `docs/02-definicion-modulos/MMD-001-fundamentos/requerimientos/`
- Especificaciones: `docs/02-definicion-modulos/MMD-001-fundamentos/especificaciones/`
- User Stories: `docs/02-definicion-modulos/MMD-001-fundamentos/historias-usuario/`

---

## Historial

| Fecha | Cambio | Autor |
|-------|--------|-------|
| 2025-12-06 | Creacion de epica | Requirements-Analyst |

---

**Creada por:** Requirements-Analyst
**Fecha:** 2025-12-06
**Ultima actualizacion:** 2025-12-06
