Registro de cambios del proyecto - JaimeBenitez/idle-dev-back GitHub Wiki
Aquí detallaremos los cambios y el trabajo realizado en cada día de desarrollo
15/03
Base de datos
- Eliminado el campo JSON de la tabla de trabajadores y sustituido por una relación muchos a muchos con Mejora
- Creada tabla Trabajador_mejora
Código
- Creado el modelo Trabajador_mejora
- Creado el repositorio Trabajador_mejora
- Modificados los modelos de Trabajador y mejora para que acepten ahora la relación M:N
18/03
Base de datos
- Añadidos nuevos datos
Código
- Crud de trabajador completo
- Dtos de trabajador, crear trabajador y modificar trabajador
- Error 404 de trabajador
19/03
Base de datos
- Añadidos nuevos datos
- Modificados los valores de dinero_principal y puntos de aprendizaje de BigInt a Float
Código
- Crud completo de trabajador_lenguaje
- Crud completo de trabajador_mejora
- Crud completo de lenguaje_partida
- Dtos que afectan a dichas tablas
- Errores 404 necesarios para dichos cruds
Problemas
- 01: Al intentar sacar los datos del lenguaje asociado a un trabajador desde el crud de trabajadores me encontraba el problema de que todos los valores de la tabla intermedia y de la tabla lenguajes me aparecían como nulos. La manera de solucionarlo ha sido sacar esos datos mediante DTOs pero en el CRUD de la tabla intermedia, que es la que poseía los datos de ambas tablas. Esto se hará de la misma manera en el resto de tablas intermedias.
20/03
Base de datos
- Añadidos nuevos datos
- modificado nombre de campo dinero_principal -> dinero ya que causaba problemas en las funciones de repositorio
- Arreglada relación erronea entre trabajador y empresa_partida
Código
- Añadido Crud completos de Empresa_Partida y Partida
- Dtos que afectan a dichas tablas
- Errores 404 de dichas tablas
22/03
Base de datos
- Añadidos todos los datos base estáticos
25/03
El game design ha cambiado con lo que la base de datos ha tenido que adaptarse
Base de datos
- Cambios en la tabla partida, esta ya no tendrá el campo "puntos_aprendizaje"
- Cambios en la tabla empresa, se añade el campo ranuras_base, que contendrá el numero de ranuras para trabajador que aporta inicialmente
- Cambios en la tabla mejora, se ha añadido el campo logo
Código
- Modificados los modelos necesarios para aceptar los cambios en la BD
- Modificados los DTO necesarios para mostrar la nueva información
- Modificado el controlador de partida para que ya no contenga el campo de puntos de aprendizaje
02/04
Base de datos
- Añadido campo email en la tabla de usuario
Código
- Añadidos cambios necesarios para el nuevo campo email de la tabla usuarios
- Añadido control de CORS ( por ahora totalmente abierto para facilitar el desarrollo )
03/04
Base de datos
- Borrados datos de usuario que ya no funcionan por tema de contraseñas
- Ahora el nombre de usuario es not null
Código
- Modificado el endpoint de sacar un usuario de manera que ahora funciona con el nombre en lugar de la id y devuelve el dto en lugar del modelo
06/04
Código
- Arreglado CORS para que acepte todos los métodos
14/04
Base de datos
- Modificada la tabla Empresas para añadir los requerimientos de cada nivel
Código
- Modificados dto y modelo acorde a los cambios en la BD
18/04
Base de datos
- Añadidos nuevos datos de prueba
Código
- Añadido nuevo endpoint para sacar los trabajadores de una partida
19/04
Base de datos
- El campo experiencia_lenguaje de la tabla trabajador_lenguaje pasa de int a float
Código
- Corregido el error de las funciones invertidas en el controlador de trabajador_lenguaje. (getWorkersByLanguage y getLanguagesByWorker)
22/04
Base de datos
- Añadido campo sexo a la tabla trabajador
Código
- Añadidos todos los campos necesarios para aceptar el nuevo campo sexo de la tabla trabajador
26/04
Base de datos
- Añadido campo imagen a trabajadores
Código
- Añadido sistema de subida de ficheros e implementado en el POST de trabajador
27/04
Problemas
- 02: Me encuentro con el problema de que no me pilla el post desde el cliente, da problemas con el multipart pero funciona desde insomnia.
28/04
Soluciones
- 02: Se cambio la logica de seleccion de logo al back, usando la carpeta static en resources, de manera que ya no es necesario el multipart
02/05
Base de datos
- Cambiado el campo de logo en la tabla lenguajes de varchar 45 a varchar 255
Código
- Añadido PUT con el endpoint lenguaje/{id} unicamente para uso interno, para poder introducir los logos
03/05
Base de datos
- Añadidos los logos de todas las tecnologias
Código
- Modificado el dto de trabajador_lenguaje para que ahora devuelva también el logo del lenguaje
05/05
Base de datos
- Añadidas imágenes a la tabla de mejoras y modificados los campos de id_trabajador e id_mejora de la tabla trabajador_mejora para que no sean únicos
Código
- Añadido PUT al controlador de trabajador_mejora para poder meter los logos
07/05
Base de datos
- Modificados los campos de requerimiento en empresas por solo dos campos, uno con los valores del requerimiento y otro con las tecnologías a las que afecta, todo en string.
- Añadidas a la base de datos el resto de tecnologías del juego, faltan los logos
Código
- Modificados modelo, dtos y controlador para que acepten los nuevos campos. Ahora el dto de empresa_partida devuelve también la id
08/05
Base de datos
- Añadidos logos de las tecnologías restantes
- Añadidas resto de mejoras, faltan los logos
09/05
Base de datos
- Añadidos logos de mejoras restantes
- Cambiado tipo del dinero_principal de Float a Double
Código
- Cambiado el tipo del dinero principal en los dtos correspondientes y en el modelo de partida
20/05
Código
- Añadida id de relación en el dto de trabajador_lenguaje
27/05
Base de datos
- Cambiados los multiplicadores de la tabla mejoras de float a tinyint
Código
- Modificados modelos y dtos para que acepten el cambio de la BD
- Modificada la función GET de mejoras por trabajador para que devuelva un array vacío
29/05
Código
- Creado el dto de edición de usuario
31/05
Código
- Añadida función de subida de avatar al controlador de usuario
03/06
Código
- Modificada la función de subida de avatar para que este sea opcional
06/06
- Backend y BD desplegados
08/06
- Añadida autenticación con JWT y encriptación de contraseñas con Bcrypt
09/06
Base de datos
- Modificados los valores de los campos de contraseña de los usuarios existentes para que coincidan con la nueva encriptación
Código
- Modificado el endpoint de edición de usuario para que use ahora la encriptación de contraseñas
- Arreglado el problema que hacía que no se vieran las imágenes por falta de permisos
11/09
Base de datos
- Realizados cambios en los enlaces de las imagenes para que ahora sean aceptadas en PROD
Código
- Realizados cambios al CORS, función de subida de imagenes de trabajadores, put de usuario y a los datos de aplication.properties para poder trabajar en PROD