Saltar al contenido principal

🎯 Resumen Ejecutivo - Módulo 4: Sponsors

🚀 Inicio Rápido

1. Ejecutar Seed de Datos

# Ejecutar el script que crea datos fake
pnpm run db:seed:sponsors

Esto creará:

  • ✅ 4 organizaciones (TechCorp, InnovateAI, CloudVenture, BlockchainHub)
  • ✅ Sponsorships para hackathons existentes
  • ✅ 5-10 challenges con tags y premios
  • ✅ Items en shortlist (si hay submissions)

2. Verificar Usuario SPONSOR

El script automáticamente busca/crea un usuario SPONSOR. Si necesitas crear uno manualmente:

-- En Prisma Studio o SQL directo
UPDATE "Profile" SET role = 'SPONSOR' WHERE email = 'tu-email@example.com';

3. Iniciar Servidor y Login

pnpm dev
  1. Ve a /sign-in
  2. Inicia sesión con el usuario SPONSOR
  3. Serás redirigido a /sponsor (dashboard)

📋 Features Implementadas

1. Gestión de Organizaciones 🏢

  • Crear organización (te convierte en OWNER)
  • Editar organización (solo OWNER/ADMIN)
  • Ver lista de tus organizaciones
  • Ver detalle con miembros y sponsorships
  • Gestionar miembros (agregar/eliminar con roles)

Rutas:

  • /sponsor/organizations - Lista
  • /sponsor/organizations/create - Crear
  • /sponsor/organizations/[id] - Detalle
  • /sponsor/organizations/[id]/edit - Editar

2. Gestión de Sponsorships 🤝

  • Crear sponsorship para un hackathon
  • Seleccionar tier (DIAMOND, PLATINUM, GOLD, SILVER, BRONZE, PARTNER)
  • Editar tier y beneficios
  • Ver lista de todos tus sponsorships
  • Ver detalle con challenges asociados

Rutas:

  • /sponsor/sponsorships - Lista
  • /sponsor/sponsorships/create - Crear
  • /sponsor/sponsorships/[id] - Detalle
  • /sponsor/sponsorships/[id]/edit - Editar

3. Gestión de Challenges 🎯

  • Crear challenge para un sponsorship
  • Agregar tags (máximo 10, dinámicos)
  • Definir premios y descripción
  • Editar challenge completo
  • Eliminar challenge
  • Ver submissions del hackathon
  • Agregar a shortlist desde submissions

Rutas:

  • /sponsor/challenges/create - Crear
  • /sponsor/challenges/[id] - Detalle
  • /sponsor/challenges/[id]/edit - Editar
  • /sponsor/challenges/[id]/submissions - Ver submissions

4. Shortlist

  • Ver lista de proyectos destacados
  • Agrupar por organización
  • Ver detalle completo del proyecto
  • Agregar notas por organización
  • Eliminar de shortlist

Rutas:

  • /sponsor/shortlist - Lista
  • /sponsor/shortlist/[submissionId] - Detalle

5. Dashboard de Sponsor 📊

  • Estadísticas generales (organizaciones, sponsorships, challenges, shortlist)
  • Acciones rápidas (crear org, crear sponsorship, ver shortlist)
  • Lista de organizaciones recientes
  • Lista de sponsorships recientes

Ruta:

  • /sponsor - Dashboard principal

6. Integración Pública 🌐

  • Ver sponsors en página pública del hackathon
  • Ver challenges en página pública del hackathon
  • Links a sitios web de organizaciones
  • Logos de organizaciones visibles

Ruta:

  • /hackathons/[slug] - Página pública (sección de sponsors y challenges)

🔄 Flujos Principales

Flujo 1: Crear Organización y Patrocinar Hackathon

1. Login como SPONSOR

2. Dashboard → "Crear Organización"

3. Llenar formulario → Crear

4. Automáticamente eres OWNER

5. Dashboard → "Crear Sponsorship"

6. Seleccionar organización + hackathon + tier

7. Crear sponsorship

8. Desde detalle del sponsorship → "Crear Challenge"

9. Llenar challenge (título, descripción, tags, premios)

10. Challenge aparece en el sponsorship

Flujo 2: Agregar Proyectos al Shortlist

1. Desde detalle del challenge → "Ver Submissions"

2. Ver lista de submissions del hackathon

3. Click "Agregar a Shortlist" en cualquier submission

4. Proyecto aparece en `/sponsor/shortlist`

5. Puedes ver detalle, agregar notas, eliminar

Flujo 3: Ver en Página Pública

1. Visita cualquier hackathon público: `/hackathons/[slug]`

2. Scroll hacia abajo

3. Ver sección "Patrocinadores" con logos y tiers

4. Ver sección "Challenges de Patrocinadores" con tags y premios

🧪 Qué Probar (Checklist Rápido)

✅ Backend (Server Actions)

  • Crear organización
  • Editar organización
  • Agregar/eliminar miembro
  • Crear sponsorship
  • Editar sponsorship
  • Crear challenge
  • Editar/eliminar challenge
  • Agregar a shortlist
  • Eliminar de shortlist

✅ Frontend (UI)

  • Dashboard carga y muestra estadísticas
  • Lista de organizaciones funciona
  • Crear/editar organización funciona
  • Lista de sponsorships funciona
  • Crear/editar sponsorship funciona
  • Crear/editar challenge funciona
  • Ver submissions funciona
  • Agregar a shortlist funciona
  • Lista de shortlist funciona
  • Detalle de shortlist funciona

✅ Integración

  • Sponsors se muestran en página pública
  • Challenges se muestran en página pública
  • Links funcionan
  • Imágenes se cargan

✅ Validaciones

  • No se puede duplicar sponsorship
  • No se puede duplicar shortlist
  • No se puede eliminar último OWNER
  • Validaciones de campos funcionan

✅ RBAC (Permisos)

  • Solo SPONSOR/ADMIN accede a /sponsor
  • Solo miembros pueden ver/editar
  • Solo OWNER/ADMIN gestiona miembros

📊 Datos Esperados Después del Seed

Después de pnpm run db:seed:sponsors:

  • Organizaciones: 4

    • TechCorp Solutions
    • InnovateAI
    • CloudVenture
    • BlockchainHub
  • Sponsorships: Depende de hackathons disponibles (hasta 4)

    • Con diferentes tiers (DIAMOND, PLATINUM, GOLD, etc.)
  • Challenges: 5-10

    • Desafío de Inteligencia Artificial
    • Desafío de Blockchain
    • Desafío de Cloud Computing
    • Desafío de UX/UI
    • Desafío de Impacto Social
  • Shortlist Items: Depende de submissions disponibles (hasta 5)


🎯 Puntos Clave para Probar

1. Roles y Permisos

  • Verifica que solo SPONSOR/ADMIN puede acceder
  • Verifica que solo miembros de organización pueden gestionar
  • Verifica que solo OWNER/ADMIN puede gestionar miembros

2. Validaciones

  • Intenta crear sponsorship duplicado (debe fallar)
  • Intenta agregar submission duplicada al shortlist (debe fallar)
  • Intenta eliminar último OWNER (debe fallar)

3. Flujos Completos

  • Crea organización → Crea sponsorship → Crea challenge → Agrega a shortlist
  • Verifica que todo se muestra correctamente en dashboard
  • Verifica que se muestra en página pública del hackathon

4. UI/UX

  • Verifica que los links funcionan
  • Verifica que las imágenes se cargan (logos)
  • Verifica que los formularios validan correctamente
  • Verifica que los mensajes de error son claros

🐛 Troubleshooting

"No autenticado"

  • Verifica que el usuario tenga rol SPONSOR o ADMIN
  • Verifica que estés logueado

"No hay hackathons disponibles"

  • Ejecuta primero: pnpm run db:seed:organizer-hackathons
  • O crea hackathons manualmente

"No hay submissions"

  • Ejecuta primero: pnpm run db:seed:teams-submissions
  • O crea submissions manualmente

Imágenes no se muestran

  • Los logos usan via.placeholder.com (servicio externo)
  • Necesitas conexión a internet
  • O reemplaza con URLs reales

📚 Documentación Completa

Para más detalles, consulta:

  • Guía Completa de Testing: docs/GUIA-TESTING-MODULO-4-SPONSORS.md
  • Plan de Ejecución: docs/PLAN-EJECUCION-MODULO-4-SPONSORS.md

✅ ¡Todo Listo!

Ejecuta el seed, inicia sesión como SPONSOR y explora todas las features. ¡Disfruta probando! 🚀