Challenge Backend - Java Spring Boot (API)
Challenge Backend - Java Spring Boot (API)
Challenge Backend - Java Spring Boot (API)
Objetivo
Desarrollar una API para explorar el mundo de Disney, la cual permitirá conocer y modificar los
personajes que lo componen y entender en qué películas estos participaron. Por otro lado, deberá
exponer la información para que cualquier frontend pueda consumirla.
👉
👉 No es necesario armar el Frontend.
Utilizar Spring Boot.
Requerimientos técnicos
1. Modelado de Base de Datos
● Personaje: deberá tener,
○ Imagen.
○ Nombre.
○ Edad.
○ Peso.
○ Historia.
○ Películas o series asociadas.
● Película o Serie: deberá tener,
○ Imagen.
○ Título.
○ Fecha de creación.
○ Calificación (del 1 al 5).
○ Personajes asociados.
● Género: deberá tener,
○ Nombre.
○ Imagen.
○ Películas o series asociadas.
2. Autenticación de Usuarios
Para realizar peticiones a los endpoints subsiguientes el usuario deberá contar con un token que
obtendrá al autenticarse. Para ello, deberán desarrollarse los endpoints de registro y login, que
permitan obtener el token.
3. Listado de Personajes
5. Detalle de Personaje
En el detalle deberán listarse todos los atributos del personaje, como así también sus películas o
series relacionadas.
6. Búsqueda de Personajes
Deberá permitir buscar por nombre, y filtrar por edad, peso o películas/series en las que participó.
Para especificar el término de búsqueda o filtros se deberán enviar como parámetros de query:
● GET /characters?name=nombre
● GET /characters?age=edad
● GET /characters?movies=idMovie
7. Listado de Películas
Devolverá todos los campos de la película o serie junto a los personajes asociados a la misma
Deberán existir las operaciones básicas de creación, edición y eliminación de películas o series.
Deberá permitir buscar por título, y filtrar por género. Además, permitir ordenar los resultados por
fecha de creación de forma ascendiente o descendiente.
Tests
De forma opcional, se podrán agregar tests de los diferentes endpoints de la APP, verificando
posibles escenarios de error: