Skip to content

BorisMejia/sucursal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🏢 API de Franquicias

Esta aplicación permite gestionar franquicias, sus sucursales y productos utilizando Java 17, Spring Boot 3, programación reactiva con WebFlux y MongoDB como base de datos.


🚀 Características

  • Crear y consultar franquicias, sucursales y productos.
  • Modificar stock y nombre de productos, sucursales y franquicias.
  • Obtener el producto con mayor stock por sucursal.
  • Arquitectura hexagonal con separación de capas.
  • Documentación OpenAPI disponible con Swagger.
  • Docker y Docker Compose listos para producción local.

🧾 Requisitos previos

Antes de iniciar, asegúrate de tener instalado:



☁️ URL EN LA NUBE

Note

Contactame para habilitarlo borisfernandez916@gmail.com

http://13.52.23.84:8080/swagger-ui/swagger-ui/index.html#/

📦 Clonar el repositorio

git clone https://github.com/BorisMejia/sucursal.git
cd sucursal

POST /franquicias

💾 Compilar y ejecutar los contenedores

Important

Ejecutar el siguiente comando en la terminal bash si se tiene java en el equipo

./mvnw clean package -DskipTests && docker-compose build --no-cache && docker-compose up

POST /franquicias

Important

Ejecutar el siguiente comando si no se tiene java

Note

Se debe tener docker instalado

docker-compose up --build -d

🐋 Esperar que corrar los contenedores

POST /franquicias

💻 URL para peticiones http

http://localhost:8080/swagger-ui/swagger-ui/index.html#/

🚀 Probar la API paso a paso con Swagger UI

1 · Abrir la interfaz

Pantalla principal Swagger UI

  1. Accede a http://localhost:8080/swagger-ui/swagger-ui/index.html#/.
  2. Estos son todos los metodos que se pueden probar

2 · Crear una franquicia

POST /franquicias

POST /franquicias
Body:
{
  "nombre": "Franquicia uno"
}

3 · Crear una sucursal

POST /franquicias

POST /franquicias/{idFranquicia}/sucursales
Body:
{ 
  "id" : "1",
  "nombre": "Sucursal uno"
}

4 · Crear una producto

POST /franquicias

POST /franquicias/{idFranquicia}/sucursales/{idSucursal}/productos
Body:
{ 
  "id" : "1",
  "nombreProducto": "Producto uno",
  "stock": 50
}

5 · Cambiar nombre de la franquicia

POST /franquicias

PUT /franquicias/{idFranquicia}/nombre
Body:
{
  "nombre": "Nuevo nombre franquicia"
}

6 · Cambiar nombre de la sucursal

POST /franquicias

PUT /franquicias/{idFranquicia}/sucursales/{idSucursal}/nombre
Body:
{
  "nombre": "Nuevo nombre sucursal"
}

7 · Cambiar nombre de un producto

POST /franquicias

PUT /franquicias/{idFranquicia}/sucursales/{idSucursal}/productos/{idProducto}/nombre
Body:
{
  "nombreProducto": "Nuevo nombre producto"
}

8 · Cambiar stock de un producto

POST /franquicias

PUT /franquicias/{idFranquicia}/sucursales/{idSucursal}/productos/{idProducto}/stock
Body:
{
  "stock": 49
}

9 · Eliminar un producto

POST /franquicias

DELETE /franquicias/{idFranquicia}/sucursales/{idSucursal}/productos/{idProducto}
Body:
{
  204
}

10 · Traen el producto con más stock de cada sucursal en una franquicia

POST /franquicias

PUT /franquicias/{idFranquicia}/sucursales/{idSucursal}/productos/{idProducto}
Body:
{
Sucursal: Sucursal uno, Producto: Producto tres, Stock: 100Sucursal: Sucursal dos, Producto: Producto dos, Stock: 60Sucursal: Sucursal tres, Producto: Producto uno, Stock: 800
}

11 · Todas las franquicias

POST /franquicias

GET /franquicias
Body:
{
[
  {
  "id": "1",
  "nombre": "Franquicia uno",
  "sucursales": []
  }{
  "id": "2",
  "nombre": "Franquicia dos",
  "sucursales": []
  }
]
}
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published