- Implemented Person entity with validation and update methods. - Created CalendarDate value object for date validation. - Developed migration script to transition company_contacts to person and department structures. - Established Sequelize models for departments and assignments. - Introduced request DTOs for person and department management. - Added shared DTO schemas for validation. - Built assignment and department forms with validation and submission handling. - Created people section to manage and display company personnel. - Implemented person form for adding and editing personnel details.
64 lines
4.1 KiB
Markdown
64 lines
4.1 KiB
Markdown
# 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).
|
|
|
|
## Siguientes entregas: orden propuesto
|
|
|
|
1. Cuentas informáticas, grupos sin grupos anidados y recursos de la compañía. Separar personas, cuentas y usuarios autenticados.
|
|
2. Perfil de configuración de cada persona: correos, carpetas compartidas, impresoras y demás recursos autorizados.
|
|
3. Teletrabajo y accesos remotos: autorización, equipo de origen, conectividad VPN y destino. La VPN no concede permisos sobre todos los recursos. Asistencia técnica remota independiente.
|
|
4. Configuraciones por dispositivo, incluidos móviles corporativos y personales con correo POP/IMAP. Dispositivos personales con identificación mínima, sin inventario técnico detallado.
|
|
5. Procesos de alta, cambio y salida, con seguimiento de retiradas pendientes y acceso que permanece en dispositivos personales. Plantillas reutilizables entre compañías; los datos y ejecuciones pertenecen a cada compañía.
|
|
6. Modelos de activos, inventario, relaciones entre activos y conjuntos de puesto de trabajo.
|
|
|
|
Este orden se concreta antes de cada entrega. Las plantillas con acciones automáticas requieren los recursos y relaciones sobre los que actuar.
|
|
|
|
## 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.
|