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.
- Host: GitHub
- URL: https://github.com/luiggi-piero/springboot-bazar
- Owner: Luiggi-piero
- Created: 2024-10-15T21:28:57.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-16T18:09:25.000Z (over 1 year ago)
- Last Synced: 2025-01-08T20:48:15.041Z (over 1 year ago)
- Topics: hibernate, java-17, jpa, spring-boot
- Language: Java
- Homepage:
- Size: 25.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
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
-
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/{codigoProducto}
-
Eliminación: localhost:8080/productos/eliminar/{codigoProducto}
-
Edición: localhost:8080/productos/editar/{codigoProducto}
- [x] Realizar CRUD/ABML 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/{idCliente}
-
Eliminación: localhost:8080/clientes/eliminar/{idCliente}
-
Edición: localhost:8080/clientes/editar/{idCliente}
- [x] Realizar CRUD/ABML de ventas
-
Métodos HTTP: GET, POST, DELETE, PUT
-
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
-
Métodos HTTP: GET
-
Endpoint:
-
localhost:8080/productos/falta_stock/{cantidad}
- [x] Obtener la lista de productos de una determinada venta
-
Métodos HTTP: GET
-
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
-
Métodos HTTP: GET
-
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
-
Métodos HTTP: GET
-
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


