El objetivo de este proyecto integrador final es validar los conocimientos prácticos y técnicos referidos al desarrollo de APIs en el lenguaje de programación Java mediante Spring Boot aprendidos en el curso "Desarrollo de APIs en Java con Spring Boot" en TodoCode Academy.
A partir del relevamiento realizado por un analista funcional, se identificó la necesidad de las siguientes clases:
- Producto
- Venta
- Cliente
Cada venta posee una lista de productos y uno y solo un cliente asociado. Además, cada clase debe tener los siguientes atributos:
Long codigo_productoString nombreString marcaDouble costoDouble cantidad_disponible
Long codigo_ventaLocalDate fecha_ventaDouble totalList<Producto> listaProductosCliente unCliente
Long id_clienteString nombreString apellidoString dni
A partir del modelado, la dueña del bazar especificó los siguientes requerimientos:
- Métodos HTTP: GET, POST, DELETE, PUT
- Endpoints:
- Creación:
localhost:8080/productos/crear - Lista completa de productos:
localhost:8080/productos - Traer un producto en particular:
localhost:8080/productos/{codigo_producto} - Eliminación:
localhost:8080/productos/eliminar/{codigo_producto} - Edición:
localhost:8080/productos/editar/{codigo_producto}
- Creación:
- Métodos HTTP: GET, POST, DELETE, PUT
- Endpoints:
- Creación:
localhost:8080/clientes/crear - Lista completa de clientes:
localhost:8080/clientes - Traer un cliente en particular:
localhost:8080/clientes/{id_cliente} - Eliminación:
localhost:8080/clientes/eliminar/{id_cliente} - Edición:
localhost:8080/clientes/editar/{id_cliente}
- Creación:
- Métodos HTTP: GET, POST, DELETE, PUT
- Endpoints:
- Creación:
localhost:8080/ventas/crear - Lista completa de ventas realizadas:
localhost:8080/ventas - Traer una venta en particular:
localhost:8080/ventas/{codigo_venta} - Eliminación:
localhost:8080/clientes/eliminar/{codigo_venta} - Edición:
localhost:8080/clientes/editar/{codigo_venta}
- Creación:
- Método HTTP: GET
- Endpoint:
localhost:8080/productos/falta_stock
- Método HTTP: GET
- Endpoint:
localhost:8080/ventas/productos/{codigo_venta}
- Método HTTP: GET
- Endpoint:
localhost:8080/ventas/{fecha_venta}
- Método HTTP: GET
- Endpoint:
localhost:8080/ventas/mayor_venta
Nota: Tener en cuenta el patrón DTO para este escenario.