metis-desk/docs/plan-de-desarrollo.md
David 7a83f9780e feat: implement access management features including forms, history, and labels
- Added access fields definition in access-fields.ts
- Created access form values handling in access-form-values.ts
- Developed access form component for creating and editing access items
- Implemented access history dialog to view changes made to access items
- Introduced access labels for better representation of access items
- Built access row component for displaying access items in a table
- Created access workspace page for managing access items with search functionality
- Added internationalization support for Spanish and English languages
- Implemented tests for access components to ensure functionality
2026-10-03 15:19:20 +02:00

4.1 KiB

Plan de desarrollo

Metis Desk es una aplicación interna para técnicos que dan soporte a pequeñas empresas. El proyecto es independiente de factuges-erp y comparte sus convenciones de programación.

Entrega 0: base técnica

Incluye monorepo PNPM y Turborepo, TypeScript estricto, Biome, Express, React, Vite, Tailwind, TanStack Query, shadcn/ui con Base UI, Zod y traducciones es/en. La página inicial muestra la conexión real con la API. No contiene datos ficticios de clientes.

Acceso y usuarios: implementado

MariaDB, Sequelize v6, migraciones iniciales, configuración única del administrador, login, sesiones y gestión de usuarios sin catálogo de roles. React Hook Form y componentes shadcn/ui para estos formularios.

Entrega 1: compañías clientes, implementado

Crear, consultar, editar y buscar compañías; activar o desactivar compañías y contactos; crear y editar sedes con dirección opcional. Formularios con React Hook Form, listado con TanStack Table y componentes shadcn/ui. Consultar Compañías, contactos y sedes.

Distinguir:

  • Organización que presta el soporte: contexto de acceso.
  • Cliente atendido: empresa sobre la que se registran datos.
  • Técnico: usuario autenticado de Metis Desk.
  • Contacto: persona del cliente.
  • Usuario de un equipo: persona asignada a un puesto; no implica acceso a la aplicación.

La adopción de una sola organización o de varias se decidirá antes del modelo persistente. No crear un sistema multiempresa complejo sin necesidad, companyId identifica a la compañía cliente; no se utiliza como identificador de tenant.

Personas y departamentos: implementado

Personas sin acceso a Metis Desk, contactos como clasificación, puesto general y pertenencia a varios departamentos con puestos específicos, un principal, periodos e historial. Datos existentes e identificadores preservados. Consultar Personas y departamentos.

Cuentas, grupos y recursos: implementado

Catálogos globales con adiciones por compañía, entornos, cuentas con uso fijo y caducidad opcional, relaciones con personas, plantillas globales de grupos, pertenencias sin anidación, recursos y permisos configurables, necesidades y cobertura calculada. Las autorizaciones y configuraciones se registran por separado, con historial, actor y avisos de revisión. Consultar Cuentas, grupos y recursos.

Siguientes entregas: orden propuesto

  1. Perfil de configuración por dispositivo: correos con POP/IMAP, carpetas compartidas, impresoras y recursos.
  2. Teletrabajo y accesos remotos: autorización, equipo de origen, conectividad VPN y destino. Asistencia técnica remota independiente.
  3. Procesos de alta, cambio y salida con seguimiento de configuraciones y retiradas. Plantillas reutilizables entre compañías; ejecuciones y datos propios.
  4. Modelos de activos, inventario, relaciones y conjuntos de puesto de trabajo.

Este orden se concreta antes de cada entrega. Las licencias y su relación con cuentas se explorarán posteriormente.

Inventario: pendiente

Infraestructura por sede: routers, firewalls, switches, puntos de acceso, NAS y servidores. Puestos de trabajo y asignaciones: equipos, monitores, impresoras y usuarios. Definir identificación, estado e historial de movimientos.

Tickets e intervenciones: pendiente

Cliente, sede, activo afectado, técnico, fecha, tiempo empleado, diagnóstico, trabajo realizado y resolución. Un ticket puede tener varias intervenciones. No confundir la solicitud de soporte con cada trabajo realizado.

Servicios y documentación: pendiente

Software, licencias, Microsoft 365, ERP, antivirus, cloud, dominios, DNS, certificados, contratos y documentación. Las credenciales se resolverán con una solución específica; no almacenarlas como texto libre.

Decisiones pendientes

Permisos por técnico si llegan a necesitarse, despliegue, backups, recuperación administrativa y modelo de organización. El acceso y los usuarios ya están implementados; la base de compañías clientes, personas, departamentos, asignaciones y sedes está implementada. Inventario y tickets siguen pendientes.