dec8891506cf856b0c286cda3912cf837c7d819d
Panel nuevo en Configuracion ("Errores del sistema", solo superadmin): errores de backend
(excepciones 500 no manejadas, con stack/ruta/metodo/usuario) y de frontend (errores JS y
promesas sin catch en el navegador del usuario, antes invisibles para cualquiera mas alla de esa
persona). Filtro por origen, boton para limpiar el historial.
Error Boundary de React: si algo rompe el render, ya no queda pantalla en blanco -- aviso simple
con boton de recargar, y el error queda reportado igual.
Nuevo error_logs (tabla, se recorta sola a 1000 filas) + GET/DELETE /api/error-logs (superadmin)
+ POST /api/error-logs (publico, rate-limited, para reportar incluso sin sesion).
Probado de punta a punta en dev: error real de backend (500) capturado con stack completo y
usuario correcto, error JS global y promesa rechazada capturados desde el navegador, panel
muestra ambos y el boton de limpiar funciona. Se encontro y corrigio un bug real en el camino: la
identificacion de usuario opcional leia jwt.payload.id en vez de .sub (como realmente lo firma
auth/service.js), asi que nunca identificaba a nadie.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
project.linkedcorp.net
En producción: https://project.linkedcorp.net
Gestión y seguimiento de proyectos y actividades de TI para una empresa de tamaño medio. MVP simple por diseño (menos campos, menos módulos separados) con el modelo de datos preparado para crecer hacia el resto del alcance funcional (riesgos, incidencias, recursos, proveedores, presupuesto, reportes exportables, etc.) sin romper lo construido.
Stack
- Frontend: React + Vite
- Backend: Node.js + Express
- Base de datos: MariaDB
- Deploy: Debian 12 (dos servicios separados — arquetipo B del grupo)
Estructura
project.linkedcorp.net/
├── README.md
├── AGENTS.md
├── SPEC.md
├── API.md
├── BASE_DE_DATOS.md
├── CONFIGURACION.md
├── VERSIONADO.md
├── ESTADO.md
├── frontend/
├── backend/
├── docs/
└── scripts/
Modulos principales (MVP)
- Seguridad (usuarios, roles, auditoría)
- Organización (departamentos, usuarios)
- Proyectos, Actividades y Tareas
- Dashboard, Calendario, Gantt (solo lectura)
- Comentarios, adjuntos, notificaciones in-app
- Configuración (catálogos)
Arranque rapido
Backend
cd backend
npm install
cp .env.example .env # completar con las credenciales reales
npm run dev
Frontend
cd frontend
npm install
npm run dev
Puertos de este proyecto (registrados en PORTS_INVENTORY.md del grupo): frontend 5196,
backend 4019. El frontend escucha en 0.0.0.0 para poder probarlo desde otro equipo/celular en
la misma red.
Variables y configuracion
- Revisar
backend/.env.exampleyCONFIGURACION.md. - Base de datos dev:
project_linkedcorpen192.168.222.20(ya creada).
Documentacion relacionada
AGENTS.md— contexto del proyecto para el asistente de IA (leer primero el orquestador del grupo).SPEC.md— alcance funcional.API.md— contrato de la API.BASE_DE_DATOS.md— modelo de datos.CONFIGURACION.md— variables de entorno y setup local.docs/UI-UX-WINDOWS.md— identidad visual del proyecto (Fluent/Windows 11).ESTADO.md— punto de retoma del proyecto (handoff).
Description
Languages
JavaScript
94.6%
CSS
3.7%
Shell
1.4%
PowerShell
0.2%