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>
85 lines
5.4 KiB
Markdown
85 lines
5.4 KiB
Markdown
# 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.
|