# 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 1. Leer primero el orquestador: `/home/mgonzalez/desarrollo/project-md-templates/leeme_primero.txt`. 2. Leer `AGENTS.md`, `SPEC.md` y este archivo. 3. Backend: `cd backend && npm install && npm run dev` (puerto 4019). Requiere `backend/.env` (no versionado — si falta, copiar `backend/.env.example` y completar con las credenciales de la BD dev `project_linkedcorp` en `192.168.222.20`, usuario `project_linkedcorp`; la clave generada la tiene el usuario, no esta en este archivo). 4. Frontend: `cd frontend && npm install && npm run dev` (puerto 5196, con proxy `/api` al backend). 5. Login de prueba (dev): `mgonzalez@linkedcorp.net` / clave `mgonzalez` (rol Administrador). 6. Migraciones/seed ya aplicados en la BD dev. Si se recrea la BD: `npm run migrate && npm run seed` dentro de `backend/`. ## 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.md` del grupo: frontend `5196`, backend `4019`. - BD dev `project_linkedcorp` creada en `192.168.222.20` con `crear-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_level` simple 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.js` y en cada `service.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 `` 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 de `UI-UX-LINKEDCORP.md` — decision explicita del usuario. Adaptacion documentada en `AGENTS.md`. - Empresa unica (single-company): no existe tabla `companies` en el MVP. - Arquetipo de despliegue B (dos servicios separados) — decision explicita del usuario. ## Deuda tecnica - `npm audit` en backend: 3 vulnerabilidades moderadas en `qs`/`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.