# 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](companias-contactos-y-sedes.md). 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](personas-y-departamentos.md). ## 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](cuentas-grupos-y-recursos.md). ## Campos y plantillas de activos: implementado Catálogo global con 30 campos y 12 plantillas de serie protegidas, cinco tipos de dato, copias personalizables, adiciones por compañía y ajustes locales de disponibilidad. Características opcionales por defecto, modales con ayuda y alta rápida de campos desde las plantillas. Consultar [Campos y plantillas de activos](campos-y-plantillas-de-activos.md). ## Siguientes entregas: orden actualizado 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. Este orden se concreta antes de cada entrega. Las licencias y su relación con cuentas se explorarán posteriormente. ## Inventario: implementado Activos por compañía, plantilla capturada, sede y persona opcionales, cuatro estados, características tipadas y revisiones con actor y fecha. Altas rápidas y consulta del historial mediante modales. Consultar [Inventario de activos](inventario-de-activos.md). Las [relaciones entre activos](relaciones-entre-activos.md) están implementadas: catálogo global y local, cinco tipos de serie, vínculos en ambos sentidos y retirada con auditoría. Los [puestos de trabajo](puestos-de-trabajo.md) están implementados, sin anidación, con sede y persona opcionales, reserva exclusiva de activos en puestos vigentes e historial. ## 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. El inventario está implementado; los tickets siguen pendientes.