erp-mecanicas-diesel/docs/02-definicion-modulos/MMD-001-fundamentos/historias-usuario/US-MMD001-001-configurar-taller.md

4.5 KiB

US-MMD001-001: Configurar Taller como Tenant

Metadata

Campo Valor
ID US-MMD001-001
Epica EPIC-MMD-001 - Fundamentos
Modulo fundamentos
Prioridad P0
Story Points 5
Sprint Sprint 1
Estado Backlog
Asignado a Por asignar

Historia de Usuario

Como administrador del taller, quiero configurar mi taller como un tenant independiente en el sistema, para operar de forma aislada con mis propios datos, usuarios y configuraciones.

Descripcion Detallada

El administrador debe poder registrar su taller en el sistema con todos los datos necesarios para operar. Esto incluye datos basicos del negocio, configuracion de zona horaria, y parametros iniciales.

El taller configurado actuara como un tenant independiente, con total aislamiento de datos respecto a otros talleres.


Criterios de Aceptacion

Escenario 1: Registro inicial de taller

DADO que soy un nuevo administrador sin taller configurado
CUANDO completo el formulario de registro con datos validos
  | Campo | Valor |
  | Nombre del Taller | Diesel Express |
  | Direccion | Av. Principal 123 |
  | Telefono | 555-0100 |
  | Email | contacto@diesel.mx |
ENTONCES el sistema crea un nuevo tenant para mi taller
Y me redirige al wizard de configuracion inicial

Escenario 2: Validacion de datos obligatorios

DADO que estoy en el formulario de registro
CUANDO intento guardar sin completar campos obligatorios
ENTONCES el sistema muestra errores de validacion
Y no permite continuar hasta completar los campos

Escenario 3: Configuracion de zona horaria

DADO que estoy configurando mi taller
CUANDO selecciono mi zona horaria (America/Mexico_City)
ENTONCES el sistema registra la zona horaria
Y todas las fechas/horas se muestran en esa zona

Escenario 4: Logo del taller

DADO que estoy en la configuracion del taller
CUANDO subo un logo (PNG/JPG, max 2MB)
ENTONCES el sistema almacena el logo
Y lo muestra en el header y documentos

Criterios Adicionales

  • Nombre del taller unico en el sistema
  • Logo soporta PNG, JPG, max 2MB
  • Direccion con campos separados (calle, ciudad, estado, CP)
  • Telefono con formato validado
  • Email con formato valido
  • Wizard de bienvenida al completar

Tareas Tecnicas

Database:

  • DB-001: Crear tabla workshops en schema workshop_core
  • DB-002: Crear RLS policy para aislamiento por workshop_id

Backend:

  • BE-001: Crear WorkshopEntity con campos requeridos
  • BE-002: Crear WorkshopService con metodo createWorkshop()
  • BE-003: Crear WorkshopController POST /api/workshops
  • BE-004: Implementar validaciones con class-validator

Frontend:

  • FE-001: Crear WorkshopSetupPage con formulario
  • FE-002: Crear WorkshopForm component
  • FE-003: Implementar upload de logo
  • FE-004: Crear welcomeWizard component

Tests:

  • TEST-001: Test unitario WorkshopService
  • TEST-002: Test e2e flujo de registro

Dependencias

Depende de:

  • MGN-004 Tenants (Core) - Completado

Bloquea:

  • US-MMD001-002: Configurar roles
  • US-MMD001-003: Catalogo servicios
  • Todas las demas US del modulo

Notas Tecnicas

Endpoints involucrados:

Metodo Endpoint Descripcion
POST /api/workshops Crear nuevo taller
GET /api/workshops/me Obtener taller actual
PATCH /api/workshops/me Actualizar taller
POST /api/workshops/me/logo Subir logo

Entidades/Tablas:

  • workshop_core.workshops: Datos del taller

Componentes UI:

  • WorkshopSetupPage: Pagina de configuracion
  • WorkshopForm: Formulario principal
  • LogoUpload: Componente de subida de logo

Definition of Ready (DoR)

  • Historia claramente escrita
  • Criterios de aceptacion definidos
  • Story points estimados
  • Dependencias identificadas
  • Diseno UI disponible
  • MGN-004 Tenants completado

Definition of Done (DoD)

  • Codigo implementado segun criterios
  • Tests unitarios escritos y pasando
  • Tests de integracion pasando
  • Code review aprobado
  • Documentacion actualizada
  • RLS verificado
  • Demo realizada

Historial de Cambios

Fecha Cambio Autor
2025-12-06 Creacion Requirements-Analyst

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