Sistema de entrenamiento para la resolución de rompecabezas
![Thumbnail](/dspace/bitstream/handle/2183/31272/RodriguezAmarelle_Miguel_TFG_2022.pdf.jpg?sequence=5&isAllowed=y)
Use este enlace para citar
http://hdl.handle.net/2183/31272
A non ser que se indique outra cousa, a licenza do ítem descríbese como Atribución-NoComercial 3.0 España
Coleccións
Metadatos
Mostrar o rexistro completo do ítemTítulo
Sistema de entrenamiento para la resolución de rompecabezasAutor(es)
Director(es)
Cabrero, DavidData
2022Centro/Dpto/Entidade
Enxeñaría informática, Grao enDescrición
Traballo fin de grao. Enxeñaría Informática. Curso 2021/2022Resumo
[Resumen] En este proyecto de fin de carrera se presenta una aplicación web cuya finalidad es el entrenamiento
en la resolución de rompecabezas: cubos de Rubik y variantes, dependiendo de la
variante, se proporciona un algoritmo que indica los movimientos necesarios para obtener el
estado inicial y que el usuario pueda calcular el tiempo que ha tardado en resolverlo.
La funcionalidad principal de la aplicación, es llevar un registro de los tiempos de las
resoluciones pasadas y también guardar el algoritmo que se utilizó. Esto permite al usuario
consultar los tiempos y las estadísticas, para así poder centrarse en los algoritmos que le resulten
más difíciles y mejorar sus habilidades.
Una de las partes más interesantes del proyecto fue la posibilidad de crear salas en las
que varios usuarios pudieran entrenar utilizando el mismo algoritmo y ver quién lo resuelve
más rápido. La implementación de este sistema distribuido se realizó utilizando WebRTC, que
permite que la comunicación se realice sin necesidad de un servidor que gestione el estado de
la sala de entrenamiento.
Otra de las funcionalidades a destacar es la capacidad de crear usuarios y guardar sus
registros en la nube para que estén disponibles desde cualquier dispositivo. [Abstract] This final project presents a web application which purpose is the training in solving
puzzles: Rubik’s cubes and variants, depending on the variant, it provides an algorithm that
indicates the necessary movements to obtain the initial state and for which the user can calculate
the time it took to solve it.
The main feature of the application is to keep track of the times of past resolutions and also
saving the algorithm that was used. This allows the user to check the times and statistics, so
that they can focus on the algorithms that are more difficult for them and improve their skills.
One of the most interesting parts of the project was the ability to create rooms in which
several users could train using the same algorithm and see who solves it the fastest. The
implementation of this distributed system was done using WebRTC, which allows the communication
to take place without the need for a server to manage the state of the training
room.
Another outstanding feature is the ability to create users and save their records in the
cloud so that they are available from any device.
Palabras chave
Typescript
Sistema distribuido
WebRTC
Web workers
React
Firebase
Testing
CI & CD
Sistema distribuido
WebRTC
Web workers
React
Firebase
Testing
CI & CD
Dereitos
Atribución-NoComercial 3.0 España