⚡ Quick Start
Guía rápida para configurar PuntoHack en 5 minutos.
📋 Prerrequisitos
Antes de comenzar, asegúrate de tener instalado:
- Node.js >= 20.0
- pnpm >= 8.0 (recomendado) o npm
- Git
- Cuentas en:
- Clerk (autenticación)
- Supabase (base de datos)
- Sentry (opcional, monitoreo)
🚀 Instalación Rápida
1. Clonar el Repositorio
git clone <repository-url>
cd puntohack
2. Instalar Dependencias
pnpm install
3. Configurar Variables de Entorno
Crea un archivo .env.local en la raíz del proyecto:
# Clerk Authentication
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_...
CLERK_SECRET_KEY=sk_test_...
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/dashboard
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/dashboard
# Database (Supabase)
DATABASE_URL=postgresql://user:password@host:port/database
DIRECT_URL=postgresql://user:password@host:port/database
# Supabase Realtime
NEXT_PUBLIC_SUPABASE_URL=https://xxxxx.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
SUPABASE_SERVICE_ROLE_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
# Sentry (Opcional)
SENTRY_DSN=https://...@sentry.io/...
SENTRY_AUTH_TOKEN=tu-token-de-sentry
# UploadThing (Opcional)
UPLOADTHING_TOKEN=tu-token
UPLOADTHING_APP_ID=tu-app-id
# Cron Job
CRON_SECRET=tu-secret-super-seguro-aqui
4. Configurar Base de Datos
# Generar Prisma Client
pnpm db:generate
# Aplicar schema a la base de datos
pnpm db:push
# (Opcional) Abrir Prisma Studio
pnpm db:studio
5. Ejecutar en Desarrollo
PuntoHack usa Turbopack por defecto para un desarrollo más rápido:
pnpm dev
Esto ejecuta next dev --turbo automáticamente. La aplicación estará disponible en http://localhost:3000
Nota: Si necesitas usar Webpack en lugar de Turbopack, usa pnpm dev:webpack
✅ Verificar Instalación
1. Verificar Base de Datos
Visita http://localhost:3000/api/test-db - Deberías ver un mensaje de éxito.
2. Verificar Autenticación
- Visita
http://localhost:3000/sign-up - Crea una cuenta
- Completa el onboarding
- Deberías ser redirigido al dashboard
3. Verificar Módulos
# Ejecutar tests
pnpm test
# Ver coverage
pnpm test:coverage
🎯 Primeros Pasos
Crear un Usuario Admin
# Seed de usuarios de prueba
pnpm db:seed:users
O manualmente desde Prisma Studio:
- Abre
pnpm db:studio - Ve a la tabla
Profile - Crea un perfil con
role: ADMIN
Crear un Hackathon de Prueba
# Seed de hackathons
pnpm db:seed:hackathons
O desde la UI:
- Inicia sesión como ORGANIZER o ADMIN
- Ve a
/admin/hackathons/create - Crea un hackathon con fechas válidas
📚 Siguiente Paso
Una vez configurado, te recomendamos:
- Prerequisites - Revisar requisitos completos
- Project Overview - Entender la estructura
- Architecture Overview - Ver la arquitectura
🐛 Problemas Comunes
Error: "Prisma Client not generated"
pnpm db:generate
Error: "Database connection failed"
Verifica que:
DATABASE_URLesté correcto en.env.local- La base de datos de Supabase esté activa
- Las credenciales sean correctas
Error: "Clerk authentication failed"
Verifica que:
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEYesté en.env.localCLERK_SECRET_KEYesté en.env.local- Las keys sean del mismo proyecto de Clerk
¿Todo funcionando? → Project Overview