workspace-v1/projects/erp-mecanicas-diesel/docs/02-definicion-modulos/MMD-001-fundamentos/historias-usuario/US-MMD001-002-configurar-roles.md
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

4.5 KiB

US-MMD001-002: Configurar Roles de Taller

Metadata

Campo Valor
ID US-MMD001-002
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 roles especificos para mi negocio (mecanico, almacenista, recepcion, jefe de taller), para asignar permisos apropiados a cada tipo de empleado.

Descripcion Detallada

El sistema debe ofrecer roles predefinidos tipicos de un taller diesel, pero permitir personalizacion. Cada rol tiene permisos especificos sobre modulos y acciones del sistema.


Criterios de Aceptacion

Escenario 1: Roles predefinidos disponibles

DADO que accedo a la configuracion de roles
CUANDO veo la lista de roles
ENTONCES veo los roles predefinidos:
  | Rol | Descripcion |
  | AdminTaller | Acceso completo al taller |
  | JefeTaller | Supervisa operaciones y asigna trabajos |
  | MecanicoDiesel | Ejecuta diagnosticos y reparaciones |
  | Almacenista | Gestiona inventario de refacciones |
  | Recepcionista | Atiende clientes y crea ordenes |
  | Contador | Accede a reportes y facturacion |

Escenario 2: Ver permisos de un rol

DADO que selecciono el rol "MecanicoDiesel"
CUANDO veo sus permisos
ENTONCES veo los modulos y acciones permitidas:
  | Modulo | Permisos |
  | Ordenes | Ver asignadas, actualizar avance |
  | Diagnosticos | Crear, editar, ver |
  | Refacciones | Solicitar, ver stock |
  | Vehiculos | Ver historial |

Escenario 3: Modificar permisos de rol

DADO que selecciono el rol "Recepcionista"
CUANDO agrego el permiso "Ver reportes basicos"
ENTONCES el sistema guarda el cambio
Y los usuarios con ese rol tienen el nuevo permiso

Escenario 4: Crear rol personalizado

DADO que necesito un rol "Supervisor Nocturno"
CUANDO creo el rol seleccionando permisos especificos
ENTONCES el sistema guarda el nuevo rol
Y esta disponible para asignar a usuarios

Roles Predefinidos

Rol Ordenes Diagnosticos Inventario Vehiculos Cotizaciones Reportes Config
AdminTaller CRUD CRUD CRUD CRUD CRUD CRUD CRUD
JefeTaller CRUD CRUD Ver CRUD CRUD Ver -
MecanicoDiesel Ver+Editar CRUD Solicitar Ver - - -
Almacenista Ver - CRUD - - Ver inv -
Recepcionista Crear+Ver - Ver Crear+Ver CRUD - -
Contador Ver - Ver - Ver CRUD -

Tareas Tecnicas

Database:

  • DB-003: Crear tabla workshop_roles en schema workshop_core
  • DB-004: Crear tabla role_permissions para matriz de permisos
  • DB-005: Insertar roles y permisos predefinidos (seed)

Backend:

  • BE-005: Crear RoleEntity con relacion a permisos
  • BE-006: Crear RoleService con CRUD y asignacion permisos
  • BE-007: Crear RoleController endpoints
  • BE-008: Implementar guard de permisos

Frontend:

  • FE-005: Crear RolesConfigPage
  • FE-006: Crear RoleCard y PermissionsMatrix components
  • FE-007: Crear RoleForm para creacion/edicion
  • FE-008: Implementar rolesStore

Tests:

  • TEST-003: Test guard de permisos
  • TEST-004: Test asignacion de rol a usuario

Dependencias

Depende de:

  • US-MMD001-001: Configurar taller
  • MGN-003 Roles (Core)

Bloquea:

  • Asignacion de usuarios a roles
  • Todos los modulos que verifican permisos

Notas Tecnicas

Endpoints involucrados:

Metodo Endpoint Descripcion
GET /api/roles Listar roles del taller
POST /api/roles Crear rol
GET /api/roles/:id Detalle rol con permisos
PATCH /api/roles/:id Actualizar rol
DELETE /api/roles/:id Eliminar rol (solo custom)
GET /api/permissions Listar permisos disponibles

Entidades/Tablas:

  • workshop_core.workshop_roles
  • workshop_core.role_permissions
  • workshop_core.permissions

Definition of Ready (DoR)

  • Historia claramente escrita
  • Criterios de aceptacion definidos
  • Matriz de permisos definida
  • Roles predefinidos listados

Definition of Done (DoD)

  • Roles predefinidos creados
  • UI de gestion de roles funcionando
  • Guard de permisos implementado
  • Tests pasando
  • Demo realizada

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