1d22adc42e
Backend (Express + MariaDB) y frontend (React + Vite, identidad Fluent/Windows) con el nucleo funcional: seguridad, organizacion, proyectos, actividades, subtareas, dependencias, dashboard, calendario, gantt, comentarios, adjuntos, notificaciones in-app y catalogos. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
5.4 KiB
5.4 KiB
ESTADO — project.linkedcorp.net
Ultima actualizacion: 2026-09-03 Fase actual: MVP funcional en desarrollo local (fase 1 completa, sin deploy a produccion).
Como retomar
- Leer primero el orquestador:
/home/mgonzalez/desarrollo/project-md-templates/leeme_primero.txt. - Leer
AGENTS.md,SPEC.mdy este archivo. - Backend:
cd backend && npm install && npm run dev(puerto 4019). Requierebackend/.env(no versionado — si falta, copiarbackend/.env.exampley completar con las credenciales de la BD devproject_linkedcorpen192.168.222.20, usuarioproject_linkedcorp; la clave generada la tiene el usuario, no esta en este archivo). - Frontend:
cd frontend && npm install && npm run dev(puerto 5196, con proxy/apial backend). - Login de prueba (dev):
mgonzalez@linkedcorp.net/ clavemgonzalez(rol Administrador). - Migraciones/seed ya aplicados en la BD dev. Si se recrea la BD:
npm run migrate && npm run seeddentro debackend/.
Hecho y verificado (2026-09-03)
- Repo/estructura inicial:
backend/(Express + mysql2, arquitectura routes→controller→service→ repository),frontend/(React + Vite, identidad Fluent/Windows),docs/(UI-UX-WINDOWS, SEGURIDAD-Y-CALIDAD adaptada). - Puertos reservados en
PORTS_INVENTORY.mddel grupo: frontend5196, backend4019. - BD dev
project_linkedcorpcreada en192.168.222.20concrear-db-dev.sh; esquema aplicado (backend/database/migrations/001_initial.sql) y seed cargado (roles, catalogos, departamentos TI/Finanzas/RRHH/Comercial + sub-areas de TI, usuario admin de dev). - Backend: modulos completos — auth (JWT + rate limit en login), users, departments, catalogs
(priorities/project-statuses/activity-statuses/project-types), projects (+ members), activities
(+ dependencies), subtasks, comments, attachments (multer, MIME whitelist), notifications,
dashboard (summary/calendar/gantt), audit. Recalculo automatico de
progress_pct(actividad desde subtareas, proyecto desde el promedio de sus actividades) verificado con pruebas manuales via curl (login → crear proyecto → actividad → subtareas → avances correctos: 50%/50%). - Frontend: identidad Fluent/Windows adaptada a web (sin barra de titulo falsa) — NavigationView, ContentDialog, InfoBar, Toast, Flyout (menu contextual), ListView con orden/buscador, ComboBox con buscador, Treeview, Tabs reales, Expander. Paginas: Login, Dashboard (KPIs + actividades propias + proyectos por estado), Proyectos (listado + detalle con tabs Info/Actividades/Gantt/ Calendario/Comentarios/Documentos, master-detail de actividades con subtareas/dependencias/ comentarios/adjuntos), Organizacion (Departamentos en arbol + Usuarios), Configuracion (apariencia + editor de los 4 catalogos). i18n es-EC/en-US, tema claro/oscuro y modo de botones persistidos y funcionando.
- Verificacion end-to-end con Playwright (headless, instalado solo en el entorno de trabajo, no en el proyecto): login, dashboard, listado y detalle de proyecto con las 6 pestañas, detalle de actividad con subtareas, organizacion (arbol + usuarios), configuracion, cambio a tema claro, creacion de un proyecto nuevo de punta a punta, y el ContentDialog de confirmacion de borrado — todo sin errores de consola. Capturas no se conservaron en el repo (solo en el entorno temporal de la sesion).
Pendiente (fase 2, sin comprometer lo ya construido)
- Riesgos e Incidencias como modulos propios (hoy:
risk_levelsimple en el proyecto). - Solicitudes/requerimientos formales de otras areas.
- Recursos (servidores/licencias/software), Proveedores, Presupuesto y costos.
- Registro de horas trabajadas detallado (bitacora diaria).
- Reportes exportables (PDF/Excel/CSV) y vista ejecutiva separada.
- Permisos configurables por modulo × accion desde la UI (hoy: roles fijos codificados en
backend/src/middleware/auth.jsy en cadaservice.js). - Notificaciones por email/WhatsApp (hoy: solo in-app).
- Job programado para detectar actividades vencidas/por vencer y generar notificaciones automaticas (hoy: la notificacion solo se dispara al asignar/reasignar una actividad).
- DatePicker/ComboBox: se uso
<input type="date">nativo en vez de un flyout de calendario propio (simplificacion deliberada para el MVP; UI-UX-WINDOWS.md recomienda uno propio).
Deploy a produccion — NO ejecutado
Pendiente de que el usuario valide el MVP en local. Cuando se confirme, seguir
BASE_DE_DATOS.md (seccion produccion) y crear PRODUCCION.md/DEPLOY_WEB.md del proyecto
siguiendo el arquetipo B (dos servicios) descrito en el orquestador.
Decisiones clave
- MVP simplificado respecto al listado original de 30 areas del usuario — detalle completo y
justificacion de cada simplificacion en
SPEC.md(seccion "Fuera de alcance por ahora") y en el plan de esta sesion. - Identidad UI/UX:
UI-UX-WINDOWS.md(Fluent/Windows 11) en vez deUI-UX-LINKEDCORP.md— decision explicita del usuario. Adaptacion documentada enAGENTS.md. - Empresa unica (single-company): no existe tabla
companiesen el MVP. - Arquetipo de despliegue B (dos servicios separados) — decision explicita del usuario.
Deuda tecnica
npm auditen backend: 3 vulnerabilidades moderadas enqs/body-parser, transitivas de Express 4.x (sin fix no-breaking disponible al 2026-09-03). No critico para uso interno; revisar cuando Express publique el fix o evaluar migrar a Express 5 en fase 2.