-
Notifications
You must be signed in to change notification settings - Fork 0
/
8-Conclusiones-amplicaciones.tex
96 lines (61 loc) · 7.39 KB
/
8-Conclusiones-amplicaciones.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
\newpage
\section{AMPLIACIONES}
El proyecto se puede ampliar de diversas formas para mejorar la experiencia del usuario y añadir nuevas funcionalidades. A continuación, se detallan algunas posibles ampliaciones:
\subsubsection{Jugabilidad}
Implementar un sistema de torneos en el que los usuarios compitan entre ellos utilizando las cartas de su colección.
Estas cartas, que ya tienen un nivel de ataque y defensa, podrían mejorar con el uso, incrementando su valor. Los torneos ofrecerían premios a los ganadores,
fomentando así la participación y el compromiso de los usuarios.
\subsubsection{Mejoras de rendimiento}
Implementar la paginación en la obtención de resultados de la base de datos para optimizar el rendimiento de la aplicación.
Esta mejora permitiría una gestión más eficiente de los datos y una experiencia de usuario más fluida.
\subsubsection{Notificaciones}
Sería interesante mejorar el sistema de notificaciones permitiendo a los usuarios recibir
alertas en tiempo real sobre eventos importantes, como el cierre de una subasta sin la necesidad de estar conectado a la aplicación.
Para ello, se podría implementar un sistema que combine la implementación actual con un sistema de notificaciones por correo electrónico o SMS.
\subsubsection{Internacionalización}
Desarrollar un sistema de internacionalización para que la aplicación esté disponible en varios idiomas.
Dado que la aplicación ya dispone de un componente de internacionalización adaptable a diferentes dispositivos y tamaños de pantalla, esta funcionalidad sería relativamente sencilla de implementar.
Consistiría en añadir los textos en diferentes idiomas y hacer visible dicho componente en la interfaz de usuario.
\subsubsection{Administración del sistema}
Se podría añadir nuevas funcionalidades al panel de administración para gestionar el sistema de forma más eficiente.
La página de bienvenida mostraría un resumen de las estadísticas de la plataforma, como el número de usuarios, cartas en circulación, subastas activas, etc.
Esto incluiría la capacidad de añadir nuevos sobres a la tienda, gestionar usuarios, descatalogar cartas y añadir nuevas cartas a la base de datos desde la interfaz de administración,
entre otras funcionalidades.
Estas funcionalidades son sencillas de implementar, ya que la arquitectura de la aplicación permite la adición de nuevas características con facilidad.
Por ejemplo, descatalogar una carta solo requeriría modificar un campo en la base de datos.
\subsubsection{Cierre de subastas automático}
Implementar un \textit{cron job} para cerrar las subastas automáticamente cuando llegue la fecha de cierre, o un \textit{trigger} en la base de datos
para cerrarlas al alcanzar el tiempo límite. Esto automatizaría el proceso de cierre de subastas, eliminando la necesidad de intervención manual por parte de los administradores.
El método de cierre de subastas ya está implementado. Este método busca las subastas que han alcanzado la fecha de cierre, procesa las pujas vinculadas a ellas,
se selecciona la puja más alta válida y se realiza la transferencia de la carta y de saldo, registrando las transacciones correspondientes y notificando a los usuarios implicados.
El motivo de no implementar el cierre automático de subastas pese a tener la funcionalidad es la limitación presupuestaria,
ya que un proceso automatizado requiere de un servidor que esté constantemente activo lo que implica un coste adicional.
\subsubsection{Estadísticas de mercado}
Actualmente la aplicación cuenta con un registro de todas las transacciones realizadas por cada carta, por lo que un usuario manualmente podría analizar estos datos para obtener estadísticas del mercado de una carta.
Sería interesante implementar un sistema de estadísticas que permita a los usuarios visualizar la evolución del precio de una carta a lo largo del tiempo,
así como comparar el precio de una carta en diferentes momentos. Esto proporcionaría a los usuarios información valiosa sobre el valor de sus cartas y les ayudaría a tomar decisiones
informadas sobre su colección y sus inversiones.
\subsubsection{Retirada de saldo}
Actualmente, los usuarios no pueden retirar el saldo de su cuenta.
Implementar un sistema de retirada de saldo permitiría a los usuarios transferir el saldo acumulado en su cuenta a su cuenta bancaria o a una cartera de criptomonedas.
Lo que haría más atractiva la inversión en la plataforma, ya que los usuarios podrían recuperar su inversión en cualquier momento.
\newpage
\section{CONCLUSIONES}
Este proyecto ha sido una experiencia muy enriquecedora, ya que me ha permitido aplicar los numerosos conocimientos adquiridos durante mi carrera en un entorno que ha supuesto un
reto tanto a nivel técnico como organizativo.
En el aspecto técnico, he profundizado en el desarrollo de aplicaciones web con React, lo que me ha permitido adquirir nuevos conocimientos sobre esta tecnología y mejorar mis
habilidades en el desarrollo de interfaces de usuario. Además, he trabajado por primera vez con Sockets para la comunicación en tiempo real entre el cliente y el servidor,
lo cual ha representado un desafío adicional, pero me ha permitido entender mejor el funcionamiento de las comunicaciones en tiempo real.
También he profundizado en el uso de MongoDB y Mongoose, mejorando así mis habilidades en el diseño de bases de datos NoSQL y en la interacción con las mismas.
He tenido que rehacer varias veces el diseño de la base de datos para adaptarlo a las necesidades del proyecto, lo que me ha permitido aprender de mis errores y mejorar en el proceso de diseño.
Asimismo, aunque ya había desplegado otra aplicación en Azure, este proyecto me ha permitido profundizar en el uso de esta plataforma y sentirme más cómoda configurando
los servicios necesarios para el despliegue de la aplicación.
A nivel organizativo, llevar a cabo un proyecto de estas características de forma individual ha sido un reto significativo.
Al principio, tuve varios problemas debido a una mala planificación y a querer abarcar demasiado, pero con el tiempo aprendí a priorizar y a centrarme en las tareas más importantes.
Me enfoqué en desarrollar un modelo base y luego añadir funcionalidades, lo que me permitió avanzar de forma más eficiente y cumplir con los plazos establecidos.
Una de las primeras decisiones que tomé fue realizar la documentación en LaTeX y, aunque inicialmente fue un desafío, con el tiempo adquirí soltura y logré completar la documentación con éxito.
Al final, esta elección resultó ser acertada, ya que pude llevar un control de versiones de la documentación con Git, lo que facilitó la gestión de los cambios.
Es difícil destacar una única parte del proyecto, ya que todas las fases han sido importantes y han aportado un valor añadido. No obstante, si tuviera que destacar una,
sería el diseño de la interfaz de usuario, ya que ha sido una de las partes más creativas y en la que pude plasmar la idea inicial del proyecto.
Debo agradecer a mi tutor por el tema propuesto, ya que me ha permitido explorar un campo que incentivó mi lado creativo, haciendo que el proceso de desarrollo haya sido más ameno y satisfactorio.
Además, su apoyo y orientación han sido fundamentales para la realización del proyecto.