An open API service indexing awesome lists of open source software.

https://github.com/luiggi-piero/springboot-bazar

API para la administración de un Bazar usando Java, Spring Boot, Hibernate y JPA. La aplicación facilita el CRUD/ABML de productos, clientes y ventas. Por otro lado, la app se conecta con una base de datos MySQL para la persistencia de los datos y está construida con la arquitectura multicapas para la separación de responsabilidades.
https://github.com/luiggi-piero/springboot-bazar

hibernate java-17 jpa spring-boot

Last synced: about 1 month ago
JSON representation

API para la administración de un Bazar usando Java, Spring Boot, Hibernate y JPA. La aplicación facilita el CRUD/ABML de productos, clientes y ventas. Por otro lado, la app se conecta con una base de datos MySQL para la persistencia de los datos y está construida con la arquitectura multicapas para la separación de responsabilidades.

Awesome Lists containing this project

README

          

## Descripción del proyecto
Aplicación Backend para la gestión de un bazar, donde cada venta posee una lista de productos y un cliente asociado.

## Requerimientos
- [x] Realizar CRUD/ABML de productos



  1. Métodos HTTP: GET, POST, DELETE, PUT


  2. Endpoints:


    • Creación: localhost:8080/productos/crear


    • Lista completa de productos: localhost:8080/productos


    • Traer un producto en particular: localhost:8080/productos/{codigoProducto}


    • Eliminación: localhost:8080/productos/eliminar/{codigoProducto}


    • Edición: localhost:8080/productos/editar/{codigoProducto}





- [x] Realizar CRUD/ABML de clientes


  1. Métodos HTTP: GET, POST, DELETE, PUT


  2. Endpoints:


    • Creación: localhost:8080/clientes/crear


    • Lista completa de clientes: localhost:8080/clientes


    • Traer un cliente en particular: localhost:8080/clientes/{idCliente}


    • Eliminación: localhost:8080/clientes/eliminar/{idCliente}


    • Edición: localhost:8080/clientes/editar/{idCliente}



- [x] Realizar CRUD/ABML de ventas



  1. Métodos HTTP: GET, POST, DELETE, PUT


  2. Endpoints:


    • Creación: localhost:8080/ventas/crear


    • Lista completa de ventas: localhost:8080/ventas


    • Traer una venta en particular: localhost:8080/ventas/{codigoVenta}


    • Eliminación: localhost:8080/ventas/eliminar/{codigoVenta}


    • Edición: localhost:8080/ventas/editar/{codigoVenta}



- [x] Obtener todos los productos cuya cantidad_disponible sea menor a un número indicado



  1. Métodos HTTP: GET


  2. Endpoint:


    • localhost:8080/productos/falta_stock/{cantidad}



- [x] Obtener la lista de productos de una determinada venta



  1. Métodos HTTP: GET


  2. Endpoint:


    • localhost:8080/ventas/productos/{codigoVenta}



- [x] Obtener la sumatoria del monto y también la cantidad total de ventas de un determinado día



  1. Métodos HTTP: GET


  2. Endpoint:


    • localhost:8080/ventas/fecha/{fechaVenta}



- [x] Obtener el código de la venta, el total, la cantidad de productos, el nombre del cliente y el apellido del cliente de la venta con el monto más alto de todas



  1. Métodos HTTP: GET


  2. Endpoint:


    • localhost:8080/ventas/mayor_venta



## Documentación de las solicitudes
[Ver solicitudes](https://documenter.getpostman.com/view/13576757/2sAXxV4UbS)

[Bazar - Colección.postman_collection.zip](https://github.com/user-attachments/files/17400835/Bazar.-.Spring.Boot.-.JPA.%2B.Hibernate.postman_collection.zip)

## Herramientas
* Java
* Spring Boot
* JPA
* Hibernate

## Arquitectura
Arquitectura Multicapas
* Capa Controller
* Capa Service
* Capa Repository
* Capa Model
* Capa DTO

> [!IMPORTANT]
> Crea la bd en MySQL llamada bazar, usa tu servidor de preferencia
> Asegúrate que la base de datos se encuentre totalmente vacía

![Static Badge](https://img.shields.io/badge/java-white?style=for-the-badge&logo=openjdk&logoColor=white&labelColor=black)

![sp](https://img.shields.io/badge/SPRING%20BOOT-white?style=for-the-badge&logo=springboot&logoColor=white&labelColor=%236DB33F)

![h](https://img.shields.io/badge/HIBERNATE-white?style=for-the-badge&logo=hibernate&logoColor=white&labelColor=%23FF2E63)