Saltar al contenido principal
Volver al catálogo
Producto · Disponible

EsportsHub

La plataforma esports lista para vestir los colores de tu club. Web pública, portal de gestión por roles y bot de Discord integrado. Stack moderno, enfoque en rendimiento, seguridad y escalabilidad.

22.8k
Líneas de código
313
Commits
268
Tests verdes
6
Juegos oficiales
5
Idiomas
ventucorp.es
EsportsHub: home pública en vista MacBook mostrando hero principal, navegación y secciones de equipos
Home · MacBook
9:41
5G
EsportsHub: home pública en vista iPhone
Home · iPhone
ventucorp.es/portal
EsportsHub: portal de gestión en vista MacBook con dashboard de equipos y calendario
Portal · MacBook
9:41
5G
EsportsHub: portal de gestión en vista iPhone
Portal · iPhone
El producto

Una plataforma, tres capas conectadas

Web pública para fans y sponsors, portal privado para jugadores y staff, y un bot de Discord que une todo en tiempo real.

Web pública

Home con efectos visuales, secciones de equipos, jugadores, noticias y creadores. Diseño responsive y SEO con OG dinámico por equipo.

Portal por roles

Gestión completa de equipos, jugadores, calendario, noticias, creadores, usuarios y documentos. Cada rol ve solo lo que necesita.

Bot Discord integrado

Recordatorios de partidos, DMs a managers cuando falta resultado, monitorización del estado de la web en tiempo real.

Autenticación robusta

Sesiones cifradas, contraseñas bcrypt, CSRF, must-change-password en primer login, rate limiting y auditoría.

Estado en vivo

Integración con APIs de Twitch y YouTube para detectar directos de creadores en tiempo real con caché inteligente.

Firma digital

Sistema completo de envío y firma de PDFs con canvas de firma, recordatorios y trazabilidad legal.

Identidad de marca

Color por juego en cada elemento visual. Animaciones de partículas respetando preferencias de accesibilidad.

Multidioma

Soporte nativo en 5 idiomas (ES, EN, FR, IT, PT). Sincronizado con el atributo lang del HTML para accesibilidad.

Calendario competitivo

Gestión de partidos por equipo con notificaciones automáticas pre y post partido vía Discord.

Catálogo competitivo

6 juegos oficiales

Cada uno con su identidad de color, roles propios y ficha pública dedicada.

Valorant
Tier 1
League of Legends
Tier 1
Rocket League
Tier 2
EAFC 26
Tier 2
Rainbow Six
Tier 3
Fortnite
Tier 3
Los entresijos

Arquitectura técnica

Stack moderno, decisiones razonadas. Cada capa optimizada para coste, rendimiento y mantenibilidad.

Frontend

  • Next.js 16 con App Router
  • React 19 con hooks modernos
  • TypeScript en modo strict
  • Tailwind CSS 4
  • Framer Motion (lazy)
  • i18n nativo en 5 idiomas

Backend

  • Server Components + API Routes
  • iron-session cifrada
  • bcryptjs para contraseñas
  • Zod en runtime crítico
  • XSS sanitization en noticias
  • Rate limiting + CSRF tokens

Datos

  • PostgreSQL 16 + Drizzle ORM
  • 16 tablas con enums tipados
  • FKs con CASCADE/SET NULL
  • Triggers updated_at automáticos
  • Pool tuneado para VPS
  • Migraciones versionadas

Infra

  • VPS Ubuntu 24.04
  • Nginx + PM2 persistente
  • SSL Let's Encrypt automático
  • Swap 2GB activo
  • Build en CI (GitHub Actions)
  • Deploy con rollback automático

Calidad

  • 203 tests Vitest
  • 18 tests E2E con Playwright
  • 47 tests Python del bot
  • Postgres real en tests (pglite)
  • ESLint con max-warnings=0
  • 5 auditorías técnicas

Bot

  • Python con discord.py
  • 2.2k líneas de código
  • Webhook bidireccional con web
  • Monitor de salud del sitio
  • Notificaciones programadas
  • Proceso PM2 separado
Sistema de permisos

Roles diferenciados

Granularidad real. Un jugador no puede tocar a otros equipos. Un staff edita solo lo suyo.

Admin

Acceso completo: usuarios, auditoría, todos los equipos, configuración.

Organización

Acceso total operativo, sin acceso a logs de auditoría.

Staff

Edita jugadores, staff y calendario de los equipos asignados.

Jugador-staff

Aparece como jugador pero gestiona como staff. Doble función.

Jugador

Lectura de su equipo, edita su propio perfil.

Creador

Edita su ficha de creador de contenido.

Detalles que marcan la diferencia

No es solo una web

Decisiones de ingeniería que normalmente no se ven, pero que dan estabilidad y profesionalidad real.

Sistema de mantenimiento sin downtime

Modo mantenimiento activable desde el portal con polling SSE para que los visitantes lo vean al instante. Al desactivarlo, todos los clientes conectados recuperan la web sin recargar.

Drizzle ORM con type-safety completo

Schema con 16 tablas tipadas, enums Postgres reales, FKs con CASCADE y triggers updated_at automáticos. Migraciones versionadas y reproducibles en cualquier entorno.

Pipeline de auditoría continua

4 auditorías técnicas internas con IDs trazables (SEC-001, EFF-001, AU-4-002…). Cada hallazgo cierra con commit etiquetado y test anti-regresión.

OpenGraph dinámico por equipo

Cuando se comparte la URL de un equipo en redes, se genera una imagen OG personalizada con colores del juego, jugadores y staff renderizada server-side.

Force-logout y impersonación

El admin puede invalidar sesiones activas al instante e impersonar usuarios para soporte con banner visible y registro completo en audit log.

Accesibilidad WCAG AA

Contraste mínimo verificado, focus traps en modales, htmlFor automático, navegación por teclado completa, respeto a prefers-reduced-motion.

CI/CD con rollback automático

Cada push a main pasa por lint, typecheck, tests, E2E y build antes de desplegar. Si falla, el VPS vuelve automáticamente al commit anterior.

Changelog versionado y trazable

Cada cambio queda registrado con versión semántica, estado (pendiente/develop/producción), fecha de despliegue y descripción pública.

Firma digital de documentos en canvas

Editor visual de campos sobre el PDF, firma con canvas (mouse o táctil), recortado al bounding box antes de exportar, recordatorios vía Discord y cron diario.

Calidad verificada

268 tests automatizados

Cobertura desde la lógica de negocio hasta los flujos completos de usuario. Cada push a main bloquea el deploy si algún test falla.

203
Tests Vitest
18
Tests E2E Playwright
47
Tests bot Python
94%
Cobertura crítica
32
Ficheros de test

API · Autenticación

tests/api/auth · 23 tests
  • login.test.ts8
  • logout.test.ts4
  • me.test.ts2
  • profile.test.ts9

API · CRUD entidades

tests/api/portal · 47 tests sobre Postgres real
  • teams.test.ts10
  • users.test.ts11
  • players.test.ts9
  • calendar.test.ts6
  • news.test.ts4
  • changelog.test.ts4
  • creators.test.ts3

API · Endpoints públicos

tests/api · 27 tests
  • public.test.ts13
  • audit.test.ts6
  • setup.test.ts5
  • csrf.test.ts2
  • health.test.ts1

API · Uploads y archivos

tests/api · 14 tests
  • upload.test.ts7
  • uploads-serve.test.ts7

Librerías core

tests/lib · 89 tests
  • security.test.ts57
  • session.test.ts18
  • site.test.ts7
  • logger.test.ts4
  • tenant-isolation.test.ts3

Anti-regresión

tests/ · 3 tests
  • no-empty-logger-error.test.ts3

E2E · Playwright

tests-e2e · 18 tests sobre Chrome real
  • login.spec.ts6
  • error-pages.spec.ts6
  • cookie-banner.spec.ts5
  • smoke.spec.ts1

Bot Discord · Python

discord-bot/tests · 47 tests con pytest
  • test_match.py17
  • test_web_monitor.py13
  • test_bot.py9
  • test_control.py8
El valor real

¿Qué hay detrás del precio?

Cifras objetivas del proyecto para entender qué costaría construirlo desde cero y qué valor entrega hoy.

~165 h
Horas de trabajo

Repartidas en ~25 jornadas activas entre web pública, portal de gestión y bot de Discord.

60–130 k€
Coste de reposición

Lo que costaría rehacer el mismo producto a tarifa freelance senior (50–70 €/h, 1.500–2.200 h).

12–25 k€
Valor de venta hoy

Código en producción, con tests y CI/CD, pero aún sin track record SaaS ni cartera de clientes.

× ARR
Valor potencial SaaS

Múltiplo 2–5× sobre revenue recurrente si el producto gana tracción comercial.

¿Por qué te enseñamos esto? Porque los precios del plan amateur (19 €/mes) o de la compra completa (12.500 €) sólo tienen sentido si entiendes el coste real de construir algo así. La diferencia entre lo que cuesta producir y lo que se paga por usarlo es nuestra propuesta de valor.

Inversión

Planes para cada club

Desde clubs amateurs con tesorería ajustada hasta organizaciones que quieren plataforma propia. Elige el que encaje contigo.

Plan básico

Para empezar

Lo justo para tener a tu club en línea. Pensado para escuadras muy pequeñas que arrancan.

12/mes · setup 199€
  • 2 equiposincluido
  • 15 usuarios totalesincluido
  • 1 creadorincluido
  • Setup y brandeo del clubincluido
  • Subdominio propioincluido
  • Hospedaje en nuestro VPSincluido
  • Bot Discord configuradoincluido
  • Soporte por emailincluido
199€ pago único al configurar + cuota mensual de mantenimiento. Entrada accesible para clubs que arrancan.
Plan amateur · Recomendado

Para clubs amateurs

Tu club competitivo con plataforma propia sin arruinar tu cartera.

3919/mes · setup 299€
Oferta primeros 3 meses
  • 5 equiposincluido
  • 50 usuarios totalesincluido
  • 4 creadoresincluido
  • Setup y brandeo del clubincluido
  • Subdominio propioincluido
  • Hospedaje en nuestro VPSincluido
  • Actualizaciones + backupsincluido
  • Bot Discord + soporte emailincluido
299€ pago único al configurar + cuota mensual de mantenimiento. Sin permanencia, cancela cuando quieras.
SaaS profesional

Para organizaciones serias

Capacidad amplia, soporte prioritario y subdominio premium para clubs en crecimiento.

20099/mes · setup 399€
Oferta primeros 3 meses
  • 20 equiposincluido
  • 200 usuarios totalesincluido
  • 15 creadoresincluido
  • Hospedaje dedicadoincluido
  • Subdominio o dominio propioincluido
  • Soporte prioritario + SLA 99.5%incluido
  • Onboarding (2h) + monitorizaciónincluido
  • Personalización extrapresupuestada
399€ pago único al configurar + cuota mensual de mantenimiento. Sin permanencia, cancela cuando quieras.
Compra del producto

Quieres ser dueño

Te entregamos el código y lo despliegas en tu infra. Independencia total, sin límites.

12.500
  • Equipos / usuarios / creadoresilimitados
  • Código fuente completoincluido
  • Web + portal + botincluido
  • Despliegue en tu VPSincluido
  • Documentación técnicaincluido
  • Onboarding (4h) + soporte 1 mesincluido
  • Garantía 90 días bugsincluido
  • Transferencia dominioincluido
Pago flexible: 50% al inicio, 50% al entregar. Para clientes que ya tienen equipo técnico.
Sponsor · Plazas limitadas

¿Te apetece ser sponsor del proyecto?

Aplicamos descuento sobre el plan que elijas a cambio de testimonio público y feedback continuo del producto. No es un plan aparte: cualquiera de los tres planes recurrentes de arriba sirve como base.

Qué obtienes
  • Setup −66%: 199€ 65€ · 299€ 99€ · 399€ 135€
  • 3 primeros meses al 50% sobre la cuota mensual
  • Logo en la página de sponsors VentuLabs
  • Voz directa en la hoja de ruta del producto
Qué pides a cambio
  • Testimonio público (texto o vídeo) que podamos mostrar
  • Feedback continuo del producto durante los primeros 6 meses
  • Compromiso mínimo: 6 meses de uso real

Plazas limitadas por instancia activa. El descuento sponsor se aplica al confirmar el alta.

Tecnologías

Stack completo

Solo herramientas modernas, mantenidas y con comunidad activa.

Next.js 16React 19TypeScript 5Tailwind CSS 4PostgreSQL 16Drizzle ORMpostgres.jspgliteiron-sessionbcryptjsZodXSS sanitizationFramer MotionPDF-libVitestPlaywrightESLint 9Python 3 + discord.pyNginxPM2Ubuntu 24.04GitHub ActionsLet's Encrypt

Profesional, estable, propio.

EsportsHub no usa plantillas, no depende de SaaS caros, no tiene vendor lock-in. Es una plataforma con identidad técnica que viste los colores de tu club.

Hablemos · hola@ventucorp.es