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

MVC TERMINADO