Skip to content

marcohc79/API_Bazar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

API_Bazar

Objetivo

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.

Modelado

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:

Producto

  • Long codigo_producto
  • String nombre
  • String marca
  • Double costo
  • Double cantidad_disponible

Venta

  • Long codigo_venta
  • LocalDate fecha_venta
  • Double total
  • List<Producto> listaProductos
  • Cliente unCliente

Cliente

  • Long id_cliente
  • String nombre
  • String apellido
  • String dni

Requerimientos

A partir del modelado, la dueña del bazar especificó los siguientes requerimientos:

1. CRUD completo de productos

  • 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}

2. CRUD completo de clientes

  • 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}

3. CRUD completo de ventas

  • 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}

4. Productos con cantidad disponible menor a 5

  • Método HTTP: GET
  • Endpoint: localhost:8080/productos/falta_stock

5. Lista de productos de una determinada venta

  • Método HTTP: GET
  • Endpoint: localhost:8080/ventas/productos/{codigo_venta}

6. Sumatoria del monto y cantidad total de ventas de un día

  • Método HTTP: GET
  • Endpoint: localhost:8080/ventas/{fecha_venta}

7. Venta con el monto más alto

  • Método HTTP: GET
  • Endpoint: localhost:8080/ventas/mayor_venta

Nota: Tener en cuenta el patrón DTO para este escenario.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages