Aplicacion de quiz en vivo tipo Kahoot, sin backend propio, construida con React + Vite y conexion entre host y jugadores mediante PeerJS/WebRTC.
- Crear y editar quizzes en el navegador.
- Guardar quizzes en
localStorage. - Importar y exportar quizzes en JSON.
- Crear una sala y compartirla con codigo o QR.
- Jugar en tiempo real desde moviles u otros navegadores.
- Interfaz en espanol, galego e ingles.
- React 19
- Vite 7
- PeerJS
- QRCode React
- Node.js 20 o superior recomendado
- npm
npm install
npm run devLa app arranca con Vite y expone el servidor en red local para facilitar que otros dispositivos se unan a la partida.
npm run buildLa build se genera en dist/.
Este proyecto esta configurado para publicarse bajo la ruta:
/preguntador/
Eso ya esta fijado en vite.config.js.
Sirve el contenido de dist/ desde la ruta /preguntador/ de tu servidor web.
Ejemplos de URL validas:
https://tu-dominio.com/preguntador/https://tu-dominio.com/preguntador/?code=ABC123
Importante:
- Si publicas en otra subruta, cambia
baseenvite.config.js. - El QR y los enlaces de invitacion usan esa base para construir la URL de entrada.
- Crea o edita un quiz.
- Inicia una sala.
- Comparte el codigo o el QR.
- Cuando entren jugadores, inicia la partida.
- Abren la URL de la app o escanean el QR.
- Introducen codigo y nombre.
- Esperan confirmacion del host.
- Responden desde su dispositivo.
src/
game/ Logica del quiz y validacion
network/ Conexion host/jugador con PeerJS
screens/ Pantallas de la SPA
styles/ Estilos globales
- Los quizzes se almacenan en
localStorage, no en una base de datos. - La conexion depende de WebRTC/PeerJS y de que los dispositivos puedan alcanzar el host publicado.
- La app valida y normaliza quizzes importados para evitar JSONs rotos.
npm run dev
npm run build
npm run preview