✦ ✦ ✦

OVERDRIVEX
ROADMAP 2026

// ÚLTIMA VEZ ACTUALIZADO: 18 DE MARZO DE 2026

✦ ✦ ✦
FASE 0
Infraestructura
~1 semana
FASE 1
Core Gameplay
~2-3 semanas
FASE 2
Social & Admin
~2 semanas
FASE 3
Monetización
~2 semanas
FASE 4
Clientes
~3 semanas
FASE 5
Pro Features
~1-2 semanas
Issues API
22
22 / 8
Issues Web
18
18 / 7
Issues WPF
16
16 / 9
Issues Android
16
16 / 4
Total Issues
72
72 / 28
LÍDER DEL PROYECTO 👑
Daniel Poza

DANIEL POZA

Fullstack Developer — Creador OverDriveX

72
Issues Resueltas
ver issues →
COLABORADOR
Adriano Zender

ADRIANO ZENDER

Especialista Web

0
Issues Resueltas
ver issues →
COLABORADOR
Haoyi Li

HAOYI LI

Especialista Mobile

0
Issues Resueltas
ver issues →
COLABORADOR
Marco Achig

MARCO ACHIG

Especialista Desktop

0
Issues Resueltas
ver issues →
+

¿Quieres colaborar en el proyecto?

// COLECCIONES_MONGODB

users
Auth, nivel, rol, stats globales
games
Catálogo de juegos soportados
matches
Historial de partidas finalizadas
active_matches
Partidas en curso
matchmaking_queue
Cola de búsqueda
friends
Relaciones de amistad
tournaments
Torneos creados
clasificacion
Ranking global
user_game_stats
Stats por juego
user_global_stats
Stats globales
pending_registrations
Registros pendientes
✦ chat_messages
Chat de partida (nueva)
✦ achievements
Catálogo de logros (nueva)
✦ sanctions
Log de baneos (nueva)
✦ payment_plans
Tiers de pago (nueva)
Colección existenteCampos nuevos a añadir
usersavatar_url · banner_url · bio · is_public · level · role · banned_until · ban_reason · plan · plan_expires · unlocked_achievements[]
active_matchesroom_code · room_password · leader_id · series.wins_p1 · series.wins_p2 · series.rematch_count
tournamentsbrackets[] · min_level · status · rounds[]
friendsSin cambios — solo añadir endpoint DELETE /friends/{id}
// FASE_0 — INFRAESTRUCTURA & ARQUITECTURA
#IssueRepoColecciónLabels
#1Dividir app.py en Blueprints — auth, matchmaking, friends, tournaments, admin, payments, achievementsAPIrefactor
#2Middleware de roles — decoradores @require_admin / @require_userAPIusersarchitecture
#3Middleware de ban — bloquear requests si users.banned_until > now()APIuserssecurity
#4Refresh token + blacklist JWTAPIusersauth
#5Variables de entorno centralizadas — .env con todos los secretsAPIdevops
// FASE_1 — CORE GAMEPLAY FEATURES
// MATCHMAKING
#IssueRepoColecciónLabels
#6Sistema de revancha best-of-3 — añadir series a active_matchesAPIactive_matchesmatchmaking
#7Jugador líder de sala — elegir aleatoriamente al emparejar; guardar leader_idAPIactive_matches · matchmaking_queuematchmaking
#8Código y contraseña de sala — generar room_code + room_passwordAPIactive_matchesmatchmaking
#9Endpoint estado de sala — GET /match/room/{room_code}APIactive_matchesmatchmaking
#10Chat de partida (máx. 20 msgs) — colección chat_messages vinculada a match_idAPIchat_messages ✦chat
#11Purga de chat al finalizar partidaAPIchat_messages · matcheschat
// TORNEOS
#IssueRepoColecciónLabels
#12Requisito nivel 10 para crear torneo — validar users.level >= 10APIusers · tournamentstournaments
#13CRUD completo de torneos — crear, listar, unirse, rondas, resultadosAPItournamentstournaments
#14Sistema de brackets automático — árbol de eliminaciónAPItournamentstournaments
// FASE_2 — SOCIAL & ADMIN
// SOCIAL
#IssueRepoColecciónLabels
#15Eliminar amigos — DELETE /friends/{user_id}APIfriendsfriends
#16Perfil público personalizable — banner_url, avatar_url, bio, is_publicAPIusersprofile
#17Endpoint de descubrimiento — GET /users/discoverAPIusers
// ADMIN
#IssueRepoColecciónLabels
#18Panel admin — gestión de usuarios: listar, buscar, cambiar rolAPIusersadmin
#19Baneo temporal — banned_until, ban_reason, ban_history[] en usersAPIusersadmin
#20Colección sanctions — log completo de baneos y advertenciasAPIsanctions ✦admin
#21Endpoints admin — POST /admin/ban, /unban, GET /admin/users, /sanctionsAPIusers · sanctionsadmin
// FASE_3 — MONETIZACIÓN & LOGROS
// PLANES_DE_PAGO
#IssueRepoColecciónLabels
#22Colección payment_plans — tiers Free/Pro/Elite con cosméticosAPIpayment_plans ✦payments
#23Campo de suscripción en usuario — plan, plan_expiresAPIuserspayments
#24Endpoint de compra de plan — Stripe / PayPalAPIusers · payment_planspayments
#25Desbloqueo de cosméticos — banners, marcos, efectos de chat por planAPIuserspayments
// LOGROS
#IssueRepoColecciónLabels
#26Colección achievements — catálogo con condicionesAPIachievements ✦achievements
#27Añadir unlocked_achievements[] a usersAPIusersachievements
#28Motor de evaluación post-partida — hook en write de matchesAPImatches · users · achievementsachievements
#29Endpoint GET /users/{id}/achievementsAPIusers · achievementsachievements
// FASE_4 — CLIENTES
// WEB
#IssueRepoLabels
#30Rutas diferenciadas Admin vs UsuarioWebadmin ui
#31Panel de administración web — usuarios, baneos, torneos, statsWebadmin ui
#32Dashboard social mejorado — feed de descubrimiento de perfilesWeb ui
#33Página de perfil público — banner, avatar, bio, stats, logrosWebprofile ui
#34Corrección interfaz de torneos — rediseño brackets y flujoWebtournaments bug
#35Chat de partida — caja de 20 msgs durante matchmakingWebchat ui
#36UI de revancha best-of-3 — marcador de serie y botón bloqueadoWebmatchmaking ui
#37Botón eliminar amigo en lista de amigosWebfriends ui
#38Página de planes de pago — comparativa y checkoutWebpayments ui
#39Página de logros — galería obtenidos/bloqueadosWebachievements ui
// WPF — SOLO_USUARIOS
#IssueRepoLabels
#40Matchmaking con best-of-3 y revanchaWPFmatchmaking
#41Chat de partidaWPFchat
#42Torneos — crear y unirseWPFtournaments
#43Eliminar amigosWPFfriends
#44Perfil personalizableWPFprofile
#45Logros en perfilWPFachievements
#46Página de planes de pagoWPFpayments
// ANDROID — SOLO_USUARIOS
#IssueRepoLabels
#47Matchmaking con best-of-3 y revanchaAndroidmatchmaking
#48Chat de partidaAndroidchat
#49Torneos — crear y unirseAndroidtournaments
#50Eliminar amigosAndroidfriends
#51Perfil personalizableAndroidprofile
#52Logros en perfilAndroidachievements
#53Página de planes de pagoAndroidpayments
// FASE_5 — PRO FEATURES & POLISH
#IssueRepoLabels
#54[WPF PRO] Mini-overlay flotante — ventana Topmost con cronómetro, botones Victoria/Derrota/Revancha/BuscarWPFpro overlay
#55[WPF] Detección del proceso del juego — activar overlay solo si el .exe correWPFpro overlay
#56[Web + Android] PWA & iOS — manifest.json, apple-touch-icon, service workerWeb · Androidpwa
#57Notificaciones push — amigos, torneos, fin de banAPI · Android · Webpro
#58Tests end-to-end — pytest + fixtures MongoDBAPItesting
#59Documentación Swagger / OpenAPIAPIdocs

// NOTAS_TÉCNICAS

Best-of-3 en active_matches

"series": { "wins_p1": 0, "wins_p2": 0, "rematch_count": 0 }
// Bloquear revancha cuando: max(wins_p1, wins_p2) >= 2

Código de sala

import secrets
room_code     = secrets.token_urlsafe(6)   # → "aB3xYz"
room_password = secrets.token_hex(4)       # → "a1b2c3d4" (opcional)

WPF Mini-Overlay

// XAML: AllowsTransparency="True"  WindowStyle="None"  Topmost="True"
// C#: Process.GetProcessesByName("nombre_juego").Length > 0

iOS PWA — Sin App Store

<link rel="apple-touch-icon" href="/icon-192.png">
<meta name="apple-mobile-web-app-capable" content="yes">
// manifest.json → "display": "standalone"

// REGISTRO_SEMANAL_DE_AVANCE

Historial de las últimas 4 semanas — progreso acumulado hacia versión beta.

SEMANA 1 10 Feb 2026 FASE 0 — Setup

✅ Completado

  • Inicializar repositorio Git — estructura de carpetas principal (API, Web, WPF, Android)
  • Setup de Python venv y requirements.txt — Flask, MongoEngine, PyJWT
  • Crear proyecto Android Studio — min SDK 28, target SDK 34
  • Crear proyecto Visual Studio .NET 6 — WPF template
  • Setup webpack para web — Babel, CSS loaders configurados

→ Próxima semana

  • Estructura base de carpetas por plataforma
  • First commit push a GitHub
SEMANA 2 17 Feb 2026 FASE 0 — Boilerplate

✅ Completado

  • Web: HTML5 base, CSS reset, responsive grid layout
  • Android: MainActivity, navigation stack, material design setup
  • WPF: MainWindow XAML base, MVVM folders (ViewModels, Views, Models)
  • API: Flask app.py hello world, test GET /health endpoint
  • README.md en raíz — instrucciones setup para cada plataforma

→ Próxima semana

  • Conectar web a API dummy
  • Android emulator tests
SEMANA 3 24 Feb 2026 FASE 0 — Database

✅ Completado

  • MongoDB Atlas account — cluster setup, IP whitelist
  • API: Conectar MongoEngine a base de datos — test de conexión
  • Crear colecciones básicas — users, games, matches (placeholder)
  • Web: Fetch API working — test GET request a /health
  • Android HTTP client setup — okhttp3 dependency, interceptors

→ Próxima semana

  • First integration test API ↔ Database
  • All platforms talking to API
SEMANA 4 03 Mar 2026 FASE 0 — Integration

✅ Completado

  • API: Endpoints /api/version, /api/status — test de conectividad
  • Web: Página conectar al API — mostrar status en dashboard
  • WPF: ApiClient class — wrapper HTTP para llamadas GET/POST
  • Android: Retrofit service configurado — base URL y timeouts
  • Testing: Unit tests en API — test de validación básica

→ Próxima semana

  • Comenzar FASE 0 real — Blueprints, middleware, auth
SEMANA 5 17 Mar 2026 FASE 4 — Current Week

📋 Estado Actual

  • Arquitectura principal completada — 72 issues identificadas
  • Stack distribuido: API (22), Web (18), WPF (16), Android (16)
  • 3 colaboradores disponibles para implementación

→ Objetivos Semana 5

  • Comenzar issues FASE 0 — Infraestructura
  • Setup inicial de Blueprints y middlewares
  • Mapeado final de colecciones MongoDB