3.2 KiB
Juegoland — games2
Proyecto independiente para la nueva plataforma de juegos. El frontend está en Svelte 5 y TypeScript; la API y el servidor de dominio están en Go. La carpeta no importa archivos de games, usa puertos propios y no modifica su despliegue.
Estado actual: base ejecutable. El catálogo está conectado desde el navegador a la API Go y empieza vacío porque ningún juego está instalado/publicado en este proyecto. Salas, cuentas, chat, motor, PostgreSQL y tiempo real aún no están habilitados. /ready describe expresamente esta fase como foundation; no acredita preparación para producción.
Requisitos
- Go 1.26 o superior.
- Node.js 24 o superior y npm.
Desarrollo
En una terminal, desde la raíz de games2:
go run ./cmd/games2
La API escucha por defecto en 127.0.0.1:8082. Se puede elegir otro puerto con GAMES2_API_ADDR. Para usar otro puerto hay que actualizar también el destino del proxy de desarrollo en frontend/vite.config.ts.
En otra terminal:
cd frontend
npm ci
npm run dev
Abre http://127.0.0.1:4174. El frontend consulta /api/v2/catalog a través del proxy local hacia Go. En producción, un proxy HTTPS servirá el frontend estático y enviará /api al backend; esta configuración aún no está desplegada.
Las herramientas para validar los contratos del motor tienen dependencias propias en la raíz del proyecto:
npm ci
npm run contracts:check
Comprobar:
go test ./...
npm run contracts:check
cd frontend
npm run check
npm run build
Rutas de la primera fase: GET /live, GET /ready, GET /api/v2/bootstrap y GET /api/v2/catalog. Las dos últimas devuelven requestId y data; el catálogo devuelve items: [] y nextCursor: null hasta la primera publicación. No hay rutas de creación o publicación de juegos para usuarios.
Estructura
cmd/games2/ arranque y apagado del proceso Go
internal/api/httpapi/ entrega HTTP y contratos de respuesta
internal/server/ casos de uso y capacidades habilitadas
internal/domain/catalog/ lectura de juegos publicados
internal/domain/ identidad, seguridad, salas, chat y moderación
internal/engine/ núcleo del motor propio
internal/games/ reglas Go propias publicadas internamente
internal/infra/ PostgreSQL y proveedores externos
internal/jobs/ plazos y outbox
frontend/ aplicación Svelte 5 y Vite
contracts/ índice de contratos ejecutables
db/migrations/ futuras migraciones PostgreSQL
deploy/ futuro despliegue independiente
docs/platform/ políticas y arquitectura de producto
docs/game-engine/ formato, esquemas y ejemplos del motor propio
docs/ROADMAP.md próximos hitos y criterios de aceptación
El directorio docs/ contiene una copia de los contratos y propuestas de v2 para trabajar sin depender de archivos de la aplicación anterior. Documentan el destino; las funciones no disponibles siguen marcadas como pendientes. La arquitectura, las políticas y el plan de implementación indican los límites de esta primera fase.