Trabajo de prácticas de la asignatura Tecnologías y Sistemas Web. Implementación de una aplicación web (cliente-servidor) que ofrece a los usuarios la posibilidad de jugar a un juego tipo Apalabrados, un juego de tablero de dos contra dos que consiste en formar palabras cruzadas.
- HTML5, CSS3, Javascript
- Bootstrap 4
- JQuery, con las librerías jqueryui y jqueryui-touch-punch.
- KnockoutJS
- Spring
- MySQL
- Selenium y JUnit para pruebas funcionales.
- JMeter para pruebas de rendimiento
Hemos incluido el inicio de sesión mediante Google utilizando el protocolo OAuth.
La recuperación de contraseña la hemos implementado mediante el envío al correo electrónico del usuario un link con un token con fecha de caducidad.
Cuando un usuario se registra en el sistema, se le asigna una imagen por defecto. Sin embargo, hemos implementado un caso de uso para que el usuario, una vez logueado, pueda actualizar su imagen de perfil.
En una partida normal, cada jugador recibe siete fichas y el servidor asigna el turno aleatoriamente a a uno de los dos. El jugador que tiene el turno, debe formar alguna palabra con las letras que disponga.
Cuando el jugador ha colocado las letras en el tablero, pulsa el botón "JUGAR" y el servidor valida si todas las palabras que pueden formarse son correctas. Si alguna no es correcta, se muestra al usuario un mensaje de error, como se muestra en la figura siguiente:
Si todas las palabras son correctas, el servidor informa al usuario de la puntuación que conseguirá y le solicita confirmación de la jugada. Si confirma, el servidor le da nuevas letras hasta completar siete, y el turno pasa al siguiente jugador.
El jugador que tiene el turno puede solicitar al servidor que le dé nuevas letras. Para ello, selecciona qué letras, de entre las que dispone, quiere cambiar. En la siguiente figura, el jugador ha elegido cambiar las letras C, D y E. Si confirma, el servidor le dará otras tres letras. Si no confirma, la partida sigue en el estado que se encontraba.
Otra de las posibilidades que ofrece el juego es pasar el turno sin realizar ningún movimiento. Para ello, el usuario ha de pulsar el botón “pasar” del menú de opciones.
Si el jugador desea que su cliente le reordene aleatoriamente las letras que tiene en su panel.
El usuario puede pulsar el botón "Llamar" y las letras que ha colocado en el tablero vuelven de nuevo al panel.
Por último, un jugador puede rendirse en cualquier momento y la partida se le da por perdida.
- Sergio González Velázquez - sergiogonzalezvelazquez
- Francisco de la Mata Rodríguez - xylons