Files
project.linkedcorp.net/ESTADO.md
T
Milton Gonzalez 1d22adc42e chore: estructura inicial del MVP
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>
2026-09-03 08:37:58 -05:00

85 lines
5.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 `<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 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.