From 98768fbaa279d5c24f3686e9f4797318c2930299 Mon Sep 17 00:00:00 2001 From: Resistencia Dev Date: Fri, 5 Dec 2025 22:17:36 +0100 Subject: [PATCH] Add comprehensive README with project status --- README.md | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..32b93bd --- /dev/null +++ b/README.md @@ -0,0 +1,93 @@ +# La Resistencia - Estado del Proyecto + +## 🎮 Estado Actual: FUNCIONAL (Parcial) + +### ✅ Funcionalidades Implementadas + +#### Backend (100% Completo) +- ✅ Sistema de salas y jugadores +- ✅ Asignación de roles (Resistencia/Espías) +- ✅ Fases del juego: LOBBY, INTRO, REVEAL_ROLE, ROLL_CALL, VOTE_LEADER, TEAM_BUILDING, VOTE_TEAM, MISSION +- ✅ **Nuevas fases**: MISSION_REVEAL, MISSION_RESULT (lógica completa) +- ✅ Votación de líder con sistema de aprobación/rechazo +- ✅ Selección y votación de equipos +- ✅ Votación de misiones (éxito/sabotaje) +- ✅ **Barajado aleatorio de votos de misión** +- ✅ **Histórico de misiones** (MissionRecord) +- ✅ Reglas correctas de éxito/fracaso (misión 4 con 7+ jugadores requiere 2 fallos) +- ✅ Sistema de victoria (3 misiones exitosas o 3 fallidas) +- ✅ Fase de asesinato (ASSASSIN_PHASE) + +#### Frontend (Funcional hasta MISSION) +- ✅ Lobby con creación/unión de partidas +- ✅ Intro con música y animaciones +- ✅ Revelación de roles con cartas +- ✅ Roll call con avatares +- ✅ Votación de líder con timer de 10 segundos +- ✅ Selección de equipo por el líder +- ✅ Votación de equipo +- ✅ Votación de misión (éxito/sabotaje solo para espías) +- ✅ Componente VotingTimer funcionando + +### ❌ Pendiente de Implementar (Solo UI) + +1. **Fase MISSION_REVEAL**: Pantalla que muestra las cartas de votación una a una (backend listo) +2. **Fase MISSION_RESULT**: Pantalla resumen con resultado de la misión (backend listo) +3. **Histórico de Misiones**: Componente visual en esquina mostrando misiones completadas (backend listo) + +## 🚀 Cómo Ejecutar + +```bash +# Iniciar todos los servicios +docker compose up -d + +# Ver logs +docker compose logs -f + +# Detener servicios +docker compose down +``` + +## 🌐 URLs + +- **Cliente**: http://localhost:3000 +- **Servidor**: http://localhost:4000 +- **Base de Datos**: localhost:5432 + +## 📝 Git + +### Ramas +- `master`: Estado inicial con errores +- `fix-gameboard`: Estado actual funcional ✅ + +### Commits Importantes +1. `8d423ac` - Estado inicial con errores de sintaxis +2. `44d7418` - GameBoard limpio y funcional +3. `5bb1b17` - VotingTimer agregado correctamente + +## 🐛 Problemas Conocidos + +1. **CPU Alta en Servidor**: El servidor puede consumir mucha CPU. Si ocurre, reiniciar con `docker compose restart server` +2. **Fases MISSION_REVEAL y MISSION_RESULT**: No tienen UI implementada. El juego se quedará en esa fase si se completa una misión. + +## 📋 Próximos Pasos + +1. Implementar UI para MISSION_REVEAL (mostrar cartas una a una con animación) +2. Implementar UI para MISSION_RESULT (pantalla resumen) +3. Agregar histórico de misiones visual +4. Optimizar rendimiento del servidor + +## 🎯 Reglas del Juego Implementadas + +- Votación de líder: mayoría simple aprueba +- 5 rechazos consecutivos: victoria de espías +- Misiones: 1 fallo = fracaso (excepto misión 4 con 7+ jugadores que requiere 2 fallos) +- 3 misiones exitosas: victoria de resistencia (con fase de asesinato) +- 3 misiones fallidas: victoria de espías + +## 🔧 Tecnologías + +- **Frontend**: Next.js 14, React, TypeScript, Framer Motion, TailwindCSS +- **Backend**: Node.js, Express, Socket.IO, TypeScript +- **Base de Datos**: PostgreSQL 15 +- **Containerización**: Docker, Docker Compose