Dugout Value
Baseball research on pitching, hitting, and projections, plus tools for comparing players, contracts, and trade value.
Consulta los inscritos, pronósticos de expertos, retirados y resultados de La Rinconada y Valencia. La plataforma hípica digital de Venezuela.
Translation pending
Sports & fitnessTypeScript · JavaScriptGitHub @YT2810OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Handicappers platform
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
La plataforma de pronósticos hípicos de Venezuela. Desafío Hípico conecta a los mejores expertos (handicappers) con los aficionados a las carreras de caballos en Venezuela. Los handicappers publican sus picks y análisis; los usuarios los consumen con un sistema simple de créditos llamados Golds. Todo está construido para el celular, pensado para el venezolano que lleva su teléfono al hipódromo. En producción: desafiohipico.com — Vercel + MongoDB Atlas Contexto técnico completo → CONTEXT.mdRead the full README ↗
La plataforma de pronósticos hípicos de Venezuela.
Desafío Hípico conecta a los mejores expertos (handicappers) con los aficionados a las carreras de caballos en Venezuela. Los handicappers publican sus picks y análisis; los usuarios los consumen con un sistema simple de créditos llamados Golds. Todo está construido para el celular, pensado para el venezolano que lleva su teléfono al hipódromo.
En producción: desafiohipico.com — Vercel + MongoDB Atlas Contexto técnico completo →
CONTEXT.md
Antes de Desafío Hípico, los pronósticos de los expertos hípicos venezolanos estaban dispersos: algunos en Twitter/X, otros en YouTube, otros en canales de Telegram privados. No había una fuente única, no había historial de aciertos, y el usuario no sabía en quién confiar.
La plataforma resuelve tres cosas:
/pronosticos, selecciona la jornada y la carrera| Capa | Tecnología |
|---|---|
| Framework | Next.js 15 App Router + Turbopack |
| Base de datos | MongoDB Atlas (Mongoose 8) |
| Autenticación | Auth.js v5 beta (NextAuth) |
| Estilos | Tailwind CSS v4 |
| Lenguaje | TypeScript 5 (strict, 0 errores) |
| IA | Gemini 2.0 Flash via OpenRouter |
| Resend API (magic links) | |
| PDF Parsing | pdf-parse v1.1.1 (server-side, CJS) |
| Deploy | Vercel |
npm install
npm run dev
Crea .env en la raíz:
MONGODB_URI="mongodb+srv://..."
AUTH_SECRET="openssl rand -base64 32"
AUTH_URL="http://localhost:3000"
AUTH_GOOGLE_ID="xxxx.apps.googleusercontent.com"
AUTH_GOOGLE_SECRET="GOCSPX-xxxx"
RESEND_API_KEY="re_xxxx"
RESEND_FROM="Desafío Hípico <[email protected]>"
NEXT_PUBLIC_WHATSAPP_NUMBER="584120000000"
OPENROUTER_API_KEY="sk-or-xxxx"
/pronosticos — dashboard principal: pronósticos por carrera, ordenados por efectividad (E1), auth gate, 2 gratis por jornada, pago con Golds, badge de ranking, estadísticas en vivo/resultados — resultados oficiales con posiciones, tiempos, dividendos completos y video resumen YouTube; ordenados por fecha/ranking — ranking público de handicappers con métricas E1/E1-2/E1-3/E-General, ordenable, sin login/handicapper/[id] — perfil público de cada experto con historial de aciertos y desglose por hipódromo/programa/[meetingId] — inscritos públicos con preview borroso de pronósticos (CTA para registro)/retirados — caballos retirados del día con SEO/admin/intelligence): el staff pega texto (tweet, WhatsApp, transcripción de YouTube) y la IA extrae los pronósticos, los cruza con los inscritos reales, muestra tabla de revisión, y los publica/admin/ingest): el staff sube imagen del boletín INH y Gemini Vision extrae posiciones, tiempos y dividendos — tabla editable antes de confirmar10 tipos de notificación in-app: recargas aprobadas/rechazadas, nuevo pronóstico de experto seguido, nueva jornada disponible, Gold bajo, etc.
SportsEvent)/api/og/forecast)Marquee sticky bajo el header en /pronosticos que muestra el "fijo del día" de cada handicapper para la carrera actualmente seleccionada. Se actualiza automáticamente al cambiar de carrera.
src/
├── app/
│ ├── page.tsx # Home
│ ├── pronosticos/page.tsx # Dashboard principal
│ ├── resultados/ # Resultados de carreras
│ ├── ranking/page.tsx # Ranking público
│ ├── handicapper/[id]/ # Perfil público handicapper
│ ├── programa/[meetingId]/ # Inscritos públicos
│ ├── retirados/ # Retirados del día
│ ├── admin/ # Panel admin
│ │ ├── ingest/ # PDFs + resultados imagen
│ │ ├── intelligence/ # Ingestor Gemini pronósticos
│ │ ├── topup/ # Recargas
│ │ ├── meetings/ # Video resumen jornadas
│ │ ├── users/ # Usuarios y roles
│ │ └── exchange-rate/ # Tasa BCV
│ └── api/ # Todos los endpoints
├── models/ # Mongoose schemas
├── services/ # Lógica de negocio
│ ├── pdfProcessor.ts # Parser INH + HINAVA
│ ├── ingestService.ts # Upsert idempotente
│ ├── forecastAccessService.ts # Freemium + Golds
│ ├── forecastStatsService.ts # Métricas handicappers
│ ├── notificationService.ts # Central de notificaciones
│ └── followService.ts # Follow/unfollow
├── components/
│ ├── ExpertTickerBar.tsx # Cintillo sticky de expertos
│ ├── TopUpModal.tsx # Recarga de Golds (4 pasos)
│ └── NotificationBell.tsx # Campana con badge
└── lib/
├── mongodb.ts # Conexión singleton
└── constants.ts # Configuración central
# Verificar TypeScript (debe dar 0 errores)
npx tsc --noEmit
# Backfill de pronósticos históricos
npx tsx scripts/backfill-forecasts.ts
# Test ranking
curl http://localhost:3000/api/handicapper/ranking
| Rol | |
|---|---|
[email protected] | admin (auto-asignado en cada login) |
| Cualquier Google | customer |
Documentación técnica detallada → CONTEXT.md