Trabajos

¡Hola! En esta sección vas a encontrar algunos de los trabajos que he realizado, son algunos de mis favoritos. Algunos han sido en empresas en las que he sido empleado, así que no puedo desvelar demasiado ni poner el enlace a GitHub, pero pondré el enlace a la empresa.

Guía de la mazmorra

Enlace al proyecto: AlejandroVLDev/MyCompendy

Este es un proyecto personal que voy actualizando poco a poco basado en Python, con el framework Django para crear la estructura del servidor. Dado que una de mis aficiones es el rol quería crear un compendio donde pueda tener todos los datos que utilizo para mis partidas en un solo lugar. De esta forma podré tener accesibles todas mis aventuras, hojas de personaje, enemigos, objetos, objetos mágicos, etc. De forma accesible durante las partidas. Como quiero que pueda contener múltiples juegos de rol en conjunto, como pueden ser D&D o mago la ascensión. De momento he comenzado con un diseño modular de aplicaciones globales, como pueden ser los dados y otro personalizados para cada juego de rol, como pueden ser los monstruos y los objetos. También he decidido que para manejarlo voy a utilizar un sistema estilo carpetas y ficheros, en el que se unirán las cosas y así pueda ser más visual y sencillo. De momento estoy creando los objetos y plantenado la arquitectura mientras utilizo la interfaz de admin para gestionar la base de datos, por ejemplo mis aventuras las guardo en formato markdown y las renderizo en HTML, aunque en algún momento utilizaré un formato similar a markdown pero con alguna personalización adicional para poder tener más control sobre le fichero. Además de cara al futuro pretendo crear una interfaz interesante y no relegar la creación y actualización al admin. También estoy valorando crear mi propio sistema de mapas con tiradas en tiempo real solo con pulsar en los distintos ataques y que esto haga que se pueda automatizar los puntos de salud, estados alterados y visión de los personajes de forma muy sencilla, algo que no he visot que haga nadie, pero tengo muchas ganas del reto y tengo muchas ideas ya para resolver problemas que se que voy a encontrar.

Hablando recursivo

Enlace al proyecto: AlejandroVLDev/RecursiveLearn

Enlace al TFG: APLICACIÓN WEB BASADA EN EL FRAMEWORK DJANGO PARA LA ENSEÑANZA DE LA RECURSIVIDAD A TRAVÉS DE DIAGRAMAS

Este proyecto es un proyecto que hice para uno de mis TFG. Dado que estaba trabajando a la par que lo hacía, se me complicó el poder dedicarle todo el tiempo que querría, además de que fue mi primer proyecto usando Django, desde entonces he aprendido mucho y tengo muchísimas ideas para mejorarlo. De primeras tengo intención de actualizar la interfaz gráfica para que sea más profesional, además de utilizar animaciones más especificas para demostrar el comportamiento de las funciones, aunque mantendré la estructura de pasos para que se tenga una visión global. Ademas, voy a implementar un sistema de creación de nuevos ejercicios de modo que no tengan que hacerse desde backend, en el cual será un sistema estructurado con bloques especificos para las preguntas, respuestas y división en forma de árbol para poder incluirlo. Además quiero meter un módulo de ejercicios como desafíos de tiempo limitado que rote para ampliar la gamificación. También tengo que seguir valorando y conseguir feedback sobre una implementación que me parece muy intersante sobre estos desafios, añadiendo un sistema de puntos que funcione en cuanto al tiempo de resolución, incluyendo el tiempo en la aplicación y el tiempo total desde que lo leyó la primera vez, con objetivo de generar competitividad para que intenten mejorar en sus habilidades y demostrar de lo que son capaces, tal vez sería interesante utilizar un sistema que no enseñe la calificación, pero que te indique en que porcentaje estás sobre el resto de usuarios, así no se verían directamente el de los demás pero si que podría ser como satisfacción personal, guardando además la mejor posición y porcentaje de cuando se realizo y la actual.

Guardando contraseñas

Enlace al TFG: APLICACIÓN WEB BASADA EN EL FRAMEWORK DJANGO PARA LA GESTIÓN DE CREDENCIALES

Enlace a la empresa: Nersis Solutions

Este proyecto lo empecé en la empresa y solicité, a por entonces mis jefes, que si podía aprovechar y presentarlo también como TFG, a lo que me dieron el visto bueno. Tras unos meses de desarrollo, cerca de desplegar la versión preliminar e inicial funcionando en la empresa acometí la tarea de escribir la memoria, la cual acabé poco después de tener la versión desplegada, aunque terminaría presentándolo meses después, cerca del final del primer cuatrimestre. Es también una aplicación web y mi primer gran proyecto con impacto en una empresa. En este trabajo aprendí mucho sobre seguridad, revisando el OWASP de seguridad y alentó mi interés por estás prácticas. También aprendí mucho sobre como hacer un diseño atractivo (después de entregar el TFG, eso sí, antes era bastante más fea ;D). Algunas de las cosas más interesantes eran manejar los grupos de seguridad, los cuáles permitían ver contraseñas en base al grado de permisos que poseas, debido a que muchos dispositivos tienen múltiples usuarios (con permisos de lectura o escritura o limitando parcialmente estos), lo que me llevo a hacer uso de la capa de sesiones que ofrece Django. También hice la integración con un tenant de Azure, para que la autenticación de usuarios fuese contra el tenant y que no tuviesen que crear nuevas cuentas. La necesidad de la creación de un plugin (sin el que no se autoriza el copiado) para los equipos que manejase los secretos y contraseñas limpiando el portapapeles una vez pegadas también es interesante, aunque pensándolo existen riesgos de seguridad imposibles de solventar, debido a que pueden copiar la contraseña en algún lugar en texto plano y que sea susceptible a ataques.

Papel y periódico

Enlace a la empresa: Nersis Solutions

Otro de los proyectos desarrollados en esta empresa, fue un portal para la gestión de bobinas, papel y periódico. Al igual que en el anterior proyecto no puedo revelar grandes cosas de los detalles, pero fue donde aprendí algunas cosas muy interesantes. En primer lugar la gestión de bases de datos con redundancia y bases de datos con gestión más rápida frente a otra con almecenamiento completo histórico; esto permite el balanceo de carga entre las distintas instancias para crear dar una respuesta muy rápida de forma constante. Además, también profundicé mucho en mi conocimiento de las api y su funcionamiento, dado que era necesario para multiples trabajos en tiempo real. Es más, fue un trabajo que mejoró mucho mi conocimiento de todos los trabajos en backend, más allá del ya presente en seguridad. Creo que estos dos trabajos me ayudaron inmensamente a mejorar mis capacidades y conocimiento del desarrollo de software, bases de datos, manejo de comunicaciones y seguridad informática.