✦ ✦ ✦
OVERDRIVEX
ROADMAP 2026
// ÚLTIMA VEZ ACTUALIZADO: 18 DE MARZO DE 2026
✦ ✦ ✦
FASE 0
Infraestructura
Infraestructura
~1 semana
FASE 1
Core Gameplay
Core Gameplay
~2-3 semanas
FASE 2
Social & Admin
Social & Admin
~2 semanas
FASE 3
Monetización
Monetización
~2 semanas
FASE 4
Clientes
Clientes
~3 semanas
FASE 5
Pro Features
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
Fullstack Developer — Creador OverDriveX
72
Issues Resueltas
+
¿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 existente | Campos nuevos a añadir |
|---|---|
users | avatar_url · banner_url · bio · is_public · level · role · banned_until · ban_reason · plan · plan_expires · unlocked_achievements[] |
active_matches | room_code · room_password · leader_id · series.wins_p1 · series.wins_p2 · series.rematch_count |
tournaments | brackets[] · min_level · status · rounds[] |
friends | Sin cambios — solo añadir endpoint DELETE /friends/{id} |
// FASE_0 — INFRAESTRUCTURA & ARQUITECTURA
| # | Issue | Repo | Colección | Labels |
|---|---|---|---|---|
| #1 | Dividir app.py en Blueprints — auth, matchmaking, friends, tournaments, admin, payments, achievements | API | — | refactor |
| #2 | Middleware de roles — decoradores @require_admin / @require_user | API | users | architecture |
| #3 | Middleware de ban — bloquear requests si users.banned_until > now() | API | users | security |
| #4 | Refresh token + blacklist JWT | API | users | auth |
| #5 | Variables de entorno centralizadas — .env con todos los secrets | API | — | devops |
// FASE_1 — CORE GAMEPLAY FEATURES
// MATCHMAKING
| # | Issue | Repo | Colección | Labels |
|---|---|---|---|---|
| #6 | Sistema de revancha best-of-3 — añadir series a active_matches | API | active_matches | matchmaking |
| #7 | Jugador líder de sala — elegir aleatoriamente al emparejar; guardar leader_id | API | active_matches · matchmaking_queue | matchmaking |
| #8 | Código y contraseña de sala — generar room_code + room_password | API | active_matches | matchmaking |
| #9 | Endpoint estado de sala — GET /match/room/{room_code} | API | active_matches | matchmaking |
| #10 | Chat de partida (máx. 20 msgs) — colección chat_messages vinculada a match_id | API | chat_messages ✦ | chat |
| #11 | Purga de chat al finalizar partida | API | chat_messages · matches | chat |
// TORNEOS
| # | Issue | Repo | Colección | Labels |
|---|---|---|---|---|
| #12 | Requisito nivel 10 para crear torneo — validar users.level >= 10 | API | users · tournaments | tournaments |
| #13 | CRUD completo de torneos — crear, listar, unirse, rondas, resultados | API | tournaments | tournaments |
| #14 | Sistema de brackets automático — árbol de eliminación | API | tournaments | tournaments |
// FASE_2 — SOCIAL & ADMIN
// SOCIAL
| # | Issue | Repo | Colección | Labels |
|---|---|---|---|---|
| #15 | Eliminar amigos — DELETE /friends/{user_id} | API | friends | friends |
| #16 | Perfil público personalizable — banner_url, avatar_url, bio, is_public | API | users | profile |
| #17 | Endpoint de descubrimiento — GET /users/discover | API | users |
// ADMIN
| # | Issue | Repo | Colección | Labels |
|---|---|---|---|---|
| #18 | Panel admin — gestión de usuarios: listar, buscar, cambiar rol | API | users | admin |
| #19 | Baneo temporal — banned_until, ban_reason, ban_history[] en users | API | users | admin |
| #20 | Colección sanctions — log completo de baneos y advertencias | API | sanctions ✦ | admin |
| #21 | Endpoints admin — POST /admin/ban, /unban, GET /admin/users, /sanctions | API | users · sanctions | admin |
// FASE_3 — MONETIZACIÓN & LOGROS
// PLANES_DE_PAGO
| # | Issue | Repo | Colección | Labels |
|---|---|---|---|---|
| #22 | Colección payment_plans — tiers Free/Pro/Elite con cosméticos | API | payment_plans ✦ | payments |
| #23 | Campo de suscripción en usuario — plan, plan_expires | API | users | payments |
| #24 | Endpoint de compra de plan — Stripe / PayPal | API | users · payment_plans | payments |
| #25 | Desbloqueo de cosméticos — banners, marcos, efectos de chat por plan | API | users | payments |
// LOGROS
| # | Issue | Repo | Colección | Labels |
|---|---|---|---|---|
| #26 | Colección achievements — catálogo con condiciones | API | achievements ✦ | achievements |
| #27 | Añadir unlocked_achievements[] a users | API | users | achievements |
| #28 | Motor de evaluación post-partida — hook en write de matches | API | matches · users · achievements | achievements |
| #29 | Endpoint GET /users/{id}/achievements | API | users · achievements | achievements |
// FASE_4 — CLIENTES
// WEB
| # | Issue | Repo | Labels |
|---|---|---|---|
| #30 | Rutas diferenciadas Admin vs Usuario | Web | admin ui |
| #31 | Panel de administración web — usuarios, baneos, torneos, stats | Web | admin ui |
| #32 | Dashboard social mejorado — feed de descubrimiento de perfiles | Web | ui |
| #33 | Página de perfil público — banner, avatar, bio, stats, logros | Web | profile ui |
| #34 | Corrección interfaz de torneos — rediseño brackets y flujo | Web | tournaments bug |
| #35 | Chat de partida — caja de 20 msgs durante matchmaking | Web | chat ui |
| #36 | UI de revancha best-of-3 — marcador de serie y botón bloqueado | Web | matchmaking ui |
| #37 | Botón eliminar amigo en lista de amigos | Web | friends ui |
| #38 | Página de planes de pago — comparativa y checkout | Web | payments ui |
| #39 | Página de logros — galería obtenidos/bloqueados | Web | achievements ui |
// WPF — SOLO_USUARIOS
| # | Issue | Repo | Labels |
|---|---|---|---|
| #40 | Matchmaking con best-of-3 y revancha | WPF | matchmaking |
| #41 | Chat de partida | WPF | chat |
| #42 | Torneos — crear y unirse | WPF | tournaments |
| #43 | Eliminar amigos | WPF | friends |
| #44 | Perfil personalizable | WPF | profile |
| #45 | Logros en perfil | WPF | achievements |
| #46 | Página de planes de pago | WPF | payments |
// ANDROID — SOLO_USUARIOS
| # | Issue | Repo | Labels |
|---|---|---|---|
| #47 | Matchmaking con best-of-3 y revancha | Android | matchmaking |
| #48 | Chat de partida | Android | chat |
| #49 | Torneos — crear y unirse | Android | tournaments |
| #50 | Eliminar amigos | Android | friends |
| #51 | Perfil personalizable | Android | profile |
| #52 | Logros en perfil | Android | achievements |
| #53 | Página de planes de pago | Android | payments |
// FASE_5 — PRO FEATURES & POLISH
| # | Issue | Repo | Labels |
|---|---|---|---|
| #54 | [WPF PRO] Mini-overlay flotante — ventana Topmost con cronómetro, botones Victoria/Derrota/Revancha/Buscar | WPF | pro |
| #55 | [WPF] Detección del proceso del juego — activar overlay solo si el .exe corre | WPF | pro |
| #56 | [Web + Android] PWA & iOS — manifest.json, apple-touch-icon, service worker | Web · Android | pwa |
| #57 | Notificaciones push — amigos, torneos, fin de ban | API · Android · Web | pro |
| #58 | Tests end-to-end — pytest + fixtures MongoDB | API | testing |
| #59 | Documentación Swagger / OpenAPI | API | docs |
// 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