Saltar al contenido principal

🎯 Bienvenido a PuntoHack

PuntoHack es una plataforma completa de gestión de hackathons diseñada para facilitar la organización, participación y evaluación de eventos de programación.

📖 Sobre esta Documentación

Esta documentación técnica está diseñada para desarrolladores que continuarán trabajando en el proyecto. Proporciona toda la información necesaria para:

  • ✅ Entender la arquitectura completa del sistema
  • ✅ Comprender cada módulo y su funcionamiento
  • ✅ Seguir los flujos de usuario por rol
  • ✅ Implementar nuevas funcionalidades
  • ✅ Mantener y extender el código existente
  • ✅ Resolver problemas comunes

🎯 Objetivo de la Documentación

Esta documentación es el "Santo Grial Técnico" del proyecto. Cualquier pregunta técnica debe tener respuesta aquí, permitiendo que el equipo pueda trabajar de manera autónoma sin necesidad de consultas constantes.

📋 Estructura de la Documentación

🚀 Getting Started

Guías rápidas para comenzar: instalación, configuración, primeros pasos.

🏗️ Arquitectura

Arquitectura completa del sistema, modelo de datos, RBAC, patrones de diseño.

💻 Desarrollo

Guías de desarrollo, estándares de código, testing, deployment.

📦 Módulos

Documentación detallada de cada módulo: queries, actions, validaciones.

👥 Flujos de Usuario

Flujos completos por cada rol: PARTICIPANT, JUDGE, ORGANIZER, SPONSOR, ADMIN.

🔌 Integraciones

Configuración y uso de Clerk, Supabase, Prisma, Sentry.

💼 Lógica de Negocio

Reglas de negocio críticas: ciclo de vida de hackathons, evaluación, leaderboard.

📚 Referencia

Referencia completa de API routes, Server Actions, queries, manejo de errores.

🎨 Características de esta Documentación

  • Diagramas detallados: ERM, RBAC, flujos, arquitectura, infraestructura
  • Componentes React: Ejemplos interactivos y visualizaciones
  • Código completo: Ejemplos reales del proyecto
  • Casos de uso: Escenarios detallados por rol
  • Troubleshooting: Soluciones a problemas comunes

🚀 Comenzar

Si eres nuevo en el proyecto, te recomendamos seguir este orden:

  1. Getting Started → Quick Start - Configuración inicial
  2. Architecture → Overview - Entender la arquitectura
  3. Architecture → Database Schema - Modelo de datos
  4. User Flows → Participant Flow - Flujo principal
  5. Development → Setup Guide - Configurar entorno

📊 Estado del Proyecto

Versión: MVP Completo
Estado: ✅ Funcional y listo para producción
Última Actualización: Enero 2025

Módulos Implementados

  • Core Layer: RBAC, DB, Auth, Errors, Validations
  • Users Module: Gestión completa de usuarios
  • Hackathons Module: CRUD completo, estados, criterios
  • Teams Module: Formación de equipos, invitaciones
  • Submissions Module: Envío y edición de proyectos
  • Evaluation Module: Sistema de scoring ponderado
  • Sponsors Module: Organizaciones, sponsorships, challenges
  • Notifications Module: Sistema de notificaciones

Features Principales

  • Supabase Realtime: Actualizaciones en tiempo real
  • Sistema de Toasts: Feedback visual global
  • Cron Jobs: Cambios automáticos de estado
  • Testing: 94+ tests pasando
  • TypeScript: Type-safety completo

🎯 Próximos Pasos

  1. Lee la sección Getting Started
  2. Revisa la Arquitectura del sistema
  3. Consulta los Flujos de Usuario para entender los procesos
  4. Explora las Integraciones para configurar servicios

¿Listo para comenzar?Quick Start