Saltar al contenido principal

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/export soporta csv, excel (CSV multi-seccion) y pdf (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 desde puntohack-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 rutas
  • src/modules/ para funcionalidades por dominio
  • prisma/schema.prisma para entidades y relaciones