Skip to content

feat: Dashboard principal de SIENEP con layout reutilizable

cristian.silvera requested to merge feature/dashboard-sienep into dev
  • Layout reutilizable (Sidebar, Header, Footer)
  • Componentes UI base (Badge, Card, Table)
  • Componentes del Dashboard (QuickAccessCard, RemindersTable)
  • Route group (dashboard) con metadata y favicon

🎯 ¿Qué hace este MR?

Implementación del Dashboard principal (Inicio) del sistema SIENEP, junto con la arquitectura base de layout reutilizable, componentes UI y helpers para conectar el backend.

🛠️ Cambios principales

🏗️ Infraestructura

  • Route group (dashboard) con layout compartido
  • Metadata (títulos por página) y favicon UTEC
  • Helper apiFetch preparado para conectar backend

🎨 Layout reutilizable

  • Sidebar: menú lateral con 7 secciones y detección de ruta activa
  • Header: barra superior con usuario (mock hasta integrar auth)
  • Footer: pie de página con copyright
  • DashboardShell: contenedor que junta todo

🧩 Componentes UI base

  • Badge: etiquetas de estado con variantes semánticas
  • Card: contenedor reutilizable con sombra
  • Table: tabla base (Table, Tr, Td)

📊 Dashboard

  • QuickAccessCard: tarjetas de acceso rápido
  • RemindersPreview: vista previa de recordatorios
  • RemindersTable: tabla con estados coloreados
  • Página principal con grilla de tarjetas + tabla

📄 Datos y tipos

  • Tipos TypeScript del sistema (src/lib/types.ts)
  • Datos mock temporales (src/lib/mock-data.ts)

📚 Documentación

  • README completo con stack, estructura, paleta y estado del proyecto
  • .env.example como plantilla de variables de entorno

✅ Checklist

  • Compila sin errores (npx tsc --noEmit)
  • Probado localmente
  • No rompe el login existente (/login sigue funcionando)
  • Commits siguen Conventional Commits
  • README actualizado
  • Metadata y favicon personalizados

👀 Notas para el reviewer

  • El login del compañero vive en src/app/login/page.tsx y no fue modificado.
  • El Dashboard está accesible sin autenticación hasta integrar middleware.
  • Los datos son mock temporales; se conectarán a la API real (Swagger) en el próximo sprint.

Merge request reports

Loading