Estado Actual del Proyecto - PuntoHack (MVP)
Fecha de referencia: 2025-01-17
Fuente de verdad: codigo en src/, prisma/schema.prisma y rutas en src/app/
Resumen ejecutivo
El MVP esta funcional con flujo completo por roles (ADMIN, ORGANIZER, PARTICIPANT, JUDGE, SPONSOR). La base tecnica (Next.js App Router, Clerk, Prisma + Supabase) y los modulos principales (hackathons, equipos, submissions, evaluaciones, sponsors) estan operativos. Las metricas y el leaderboard ya calculan ranking global, consistencia y top 3 por hackathon, y existe exportacion de reportes de participantes (CSV, excel en CSV multi-seccion y HTML imprimible para PDF).
Estado por modulos
Core y plataforma
- Core: autentificacion, RBAC, validaciones y manejo de errores en
src/core/. - Infra: Prisma + Supabase, cron para actualizar estados (
/api/cron/update-hackathon-states). - Estado: estable.
Usuarios
- Users: perfiles, roles, onboarding y panel admin.
- Estado: funcional.
Hackathons
- Hackathons: CRUD, estados del ciclo de vida, criterios y registros.
- Estado: funcional.
Teams y Submissions
- Teams: invitaciones, equipos, miembros y submissions.
- Estado: funcional.
Evaluacion
- Evaluacion: scoring por criterios, jueces y calculo de promedios.
- Estado: funcional.
Sponsors
- Sponsors: organizaciones, sponsorships, challenges y shortlist.
- Estado: funcional.
Metricas y Leaderboard
- Metricas: dashboards por rol, ranking global y consistencia.
- Leaderboard: puntajes normalizados y top 3 por hackathon.
- Estado: funcional con ajustes recientes.
Notificaciones y Realtime
- Notificaciones: suscripciones a Supabase Realtime y pagina dedicada.
- Estado: funcional con dependencia de configuracion de replication en Supabase.
Cambios recientes relevantes
- Ranking global: se calculan puestos reales, top 3 por hackathon y consistencia con porcentajes coherentes.
- Exports de participante: endpoint
/api/participant/exportsoportacsv,excel(CSV multi-seccion) ypdf(HTML imprimible). - UI sponsors: cards de patrocinadores mejoradas para evitar solapamiento y mejorar legibilidad.
- Realtime: manejo de errores con menor ruido en consola y fallback cuando no hay replication activa.
Pendientes principales
Prioridad alta
- Completar pruebas automatizadas para metricas, ranking y exports.
- Validar edge cases de evaluaciones y ranking con datos reales.
- Documentacion de uso por rol (organizer, judge, sponsor, participant).
Prioridad media
- Optimizar queries pesadas (submissions y leaderboards) con indices y selects minimos.
- Mejorar UX en formularios de evaluacion y visualizacion de criterios.
- Pulir notificaciones y estados de carga en dashboards.
Prioridad baja
- Cache de consultas frecuentes.
- Paginacion en listas grandes.
- Mejoras visuales menores.
Rutas principales implementadas
- Publico:
/,/hackathons,/hackathons/[slug],/hackathons/[slug]/leaderboard. - Dashboard:
/dashboard,/notifications. - Admin:
/admin,/admin/users,/admin/hackathons. - Organizer:
/organizer,/organizer/hackathons. - Participant:
/participant. - Judge:
/judge,/judge/hackathons/[slug]. - Sponsor:
/sponsor,/sponsor/organizations,/sponsor/sponsorships,/sponsor/challenges.
Documentacion tecnica
- La documentacion tecnica vive en
docs/y se publica con Docusaurus desdepuntohack-docs/. - El sidebar es manual y refleja las secciones reales del proyecto.
Nota de verificacion
Este documento debe actualizarse cada vez que cambien funcionalidades, rutas o modulos clave. Usar como referencia:
src/app/para rutassrc/modules/para funcionalidades por dominioprisma/schema.prismapara entidades y relaciones