feat: Migración completa de SnatchGame a Nuxt 4
Some checks failed
build-and-deploy / filter (push) Successful in 3s
build-and-deploy / build (push) Failing after 6s
build-and-deploy / deploy (push) Has been skipped

- Creado nuevo proyecto Nuxt 4 con estructura app/
- Servidor Colyseus separado para evitar problemas con decoradores
- Migrado GameRoom y toda la lógica del juego
- Implementado cliente con composables useGameClient
- Panel de administración funcional
- Componentes Vue migrados (HomeScreen, GameScreen, PlayerCard, etc)
- Configuración para ejecutar ambos servidores (npm run dev:all)
This commit is contained in:
2025-08-05 16:05:51 -06:00
parent b83d450ac6
commit 62226ab5d4
36 changed files with 17126 additions and 2661 deletions

74
nuxt-snatchgame/README.md Normal file
View File

@@ -0,0 +1,74 @@
# Snatch Game - Nuxt 3 Migration
Migración completa del juego SnatchGame a una aplicación unificada Nuxt 3.
## Arquitectura
- **Frontend**: Nuxt 3 (SSR deshabilitado)
- **Backend de juego**: Servidor Colyseus independiente (puerto 2567)
- **Comunicación**: WebSocket para tiempo real
## Instalación
```bash
npm install
```
## Desarrollo
Ejecutar ambos servidores (Nuxt + Colyseus):
```bash
npm run dev:all
```
O ejecutar por separado:
```bash
# Terminal 1 - Servidor Nuxt (puerto 3000)
npm run dev
# Terminal 2 - Servidor Colyseus (puerto 2567)
npm run dev:colyseus
```
## URLs
- Cliente del juego: http://localhost:3000
- Panel admin: http://localhost:3000/admin
- WebSocket Colyseus: ws://localhost:2567
- Monitor Colyseus: http://localhost:2567/monitor
## Estructura del proyecto
```
nuxt-snatchgame/
├── pages/ # Páginas de Nuxt
│ ├── index.vue # Cliente del juego
│ └── admin.vue # Panel de administración
├── components/ # Componentes Vue
│ ├── game/ # Componentes del juego
│ └── admin/ # Componentes admin
├── composables/ # Composables Vue
│ ├── useGameClient.ts # Cliente Colyseus
│ └── useAdminService.ts # Servicio admin
├── server/ # Backend
│ ├── colyseus-server.ts # Servidor Colyseus
│ └── rooms/ # Salas de juego
│ └── GameRoom.ts # Lógica del juego
└── public/ # Assets estáticos
```
## Características implementadas
✅ Cliente del juego con conexión WebSocket
✅ Panel de administración
✅ Sistema de intercambio de tokens
✅ Gestión de jugadores y salas
✅ Control administrativo del juego
## Notas de la migración
- El servidor Colyseus se ejecuta de forma independiente para evitar problemas con decoradores TypeScript
- SSR deshabilitado ya que es una aplicación de juego en tiempo real
- Los endpoints admin se conectan directamente al servidor Colyseus