You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.5 KiB
2.5 KiB
Plan de implementación de games2
Base ejecutable actual
- Proyecto Go con API, capa de servidor y catálogo de publicación interna; sin juegos fingidos.
- Frontend Svelte independiente que consulta el catálogo real y representa carga, fallo y lista vacía.
- Bootstrap de capacidades: únicamente catálogo. Salud de proceso y readiness acotado a esta fase.
- Contratos y políticas de v2 copiados bajo
docs/; su implementación permanece pendiente.
Próximos cortes verticales
- Persistencia y contratos: PostgreSQL, migraciones nuevas, repositorios dentro de una unidad de trabajo, API/esquemas verificables y pruebas de integración.
/readypasará a exigir base y esquema compatibles cuando se active esa dependencia. - Motor propio en Go: interfaz de reglas equivalente al SDK documentado, perfil de paquete Go versionado, resultados, azar determinista, proyecciones por jugador, recibos y outbox. Conecta 4 como primer juego propio real. No publicarlo solo por existir una ficha.
- Información privada y azar: Hundido y Brisca como pruebas de vistas ocultas, acciones independientes, barajas y reproducibilidad. Conservar fixtures de resultados y privacidad.
- Identidad y protección: credenciales recuperables, sesiones, edad, tutela, permisos de sala, invitaciones, bloqueo/reporte y administración. Abrir cada capacidad solo con sus proveedores, procedimientos y pruebas.
- Tiempo real y clientes: binding WebSocket versionado, negociación, auth, reconexión, cursores y recibos; frontend de sala/partida con móvil y accesibilidad probados.
- Operación: backups/restauración con supresiones, observabilidad externa del proxy y del backend, pruebas de carga, despliegue reversible y migración desde v1 con una sola autoridad por sala.
Criterio para cada hito
Cada entrega incluye una ruta visible, su comportamiento de error y permisos, pruebas que cubran el riesgo propio, instrucciones de operación y una comprobación contra los documentos de contrato. Las capacidades no implementadas permanecen desactivadas en bootstrap y sin controles de interfaz que sugieran que funcionan.
La primera fase no requiere conexión a la base de datos ni proveedor externo. El trabajo posterior debe mantener los valores de producto de políticas, la API/eventos y el formato de juegos, actualizando esos documentos cuando una decisión de implementación cambie un contrato.