# leopuentearce-boop/restaurant-platform architecture

> Architecture diagram of the GitHub repository leopuentearce-boop/restaurant-platform, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/leopuentearce-boop/restaurant-platform
- Repository: https://github.com/leopuentearce-boop/restaurant-platform

## Overview

The README characterizes the repository as a foundation phase with no functional business modules, but the supplied tree and source excerpts show implemented REST workflows for restaurant operations. This map describes those evidenced backend capabilities; service internals not sampled are represented only where the tree identifies their modules.

Main entry points: [`restaurant-api/src/main/java/com/restaurant/api/ordering/api/controller/PedidoController.java`](https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/ordering/api/controller/PedidoController.java) (Orders API), [`restaurant-api/src/main/java/com/restaurant/api/serviceoperation/api/controller/AtencionController.java`](https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/serviceoperation/api/controller/AtencionController.java) (Service API), [`restaurant-api/src/main/java/com/restaurant/api/reservation/api/controller/ReservaController.java`](https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/reservation/api/controller/ReservaController.java) (Reservations API), [`restaurant-api/src/main/java/com/restaurant/api/payment/api/controller/CobroController.java`](https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/payment/api/controller/CobroController.java) (Payments API)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_api["REST API"]
  node_pedido_controller["Orders API"]
  node_atencion_controller["Service API"]
  node_reserva_controller["Reservations API"]
  node_cobro_controller["Payments API"]
  node_cierre_controller["Closing API"]
  node_incidencia_controller["Incidents API"]
  node_availability_controller["Availability API"]
  node_public_controller["Public info API"]
end

subgraph group_operations["Restaurant Operations"]
  node_pedido_service["Order service<br/>[PedidoService.java]"]
  node_atencion_service["Service operation"]
  node_reserva_service["Reservation service"]
  node_cobro_service["Payment service<br/>[CobroService.java]"]
  node_cierre_service["Closing service<br/>[CierreService.java]"]
  node_incidencia_service["Incident service"]
  node_availability_service["Availability service"]
  node_public_service["Public info service"]
end

subgraph group_records["Operational Records"]
end

subgraph group_shared["Shared Domain"]
  node_pedido_store["Order repository"]
  node_atencion_store["Service repository"]
  node_reserva_store["Reservation repository"]
  node_cobro_store["Payment repository"]
  node_cierre_store["Closing repository"]
  node_incidencia_store["Incident repository"]
  node_availability_store["Availability repository"]
  node_public_store["Public info repository"]
end

node_staff(("API user"))

node_staff -->|"requests"| node_pedido_controller
node_pedido_controller -->|"dispatches"| node_pedido_service
node_pedido_service -->|"queries"| node_pedido_store
node_staff -->|"requests"| node_atencion_controller
node_atencion_controller -->|"dispatches"| node_atencion_service
node_atencion_service -->|"reads and saves"| node_atencion_store
node_staff -->|"requests"| node_reserva_controller
node_reserva_controller -->|"dispatches"| node_reserva_service
node_reserva_service -->|"reads and saves"| node_reserva_store
node_staff -->|"requests"| node_cobro_controller
node_cobro_controller -->|"dispatches"| node_cobro_service
node_cobro_service -->|"reads and saves"| node_cobro_store
node_staff -->|"requests"| node_cierre_controller
node_cierre_controller -->|"dispatches"| node_cierre_service
node_cierre_service -->|"reads and saves"| node_cierre_store
node_staff -->|"requests"| node_incidencia_controller
node_incidencia_controller -->|"dispatches"| node_incidencia_service
node_incidencia_service -->|"reads and saves"| node_incidencia_store
node_staff -->|"requests"| node_availability_controller
node_availability_controller -->|"dispatches"| node_availability_service
node_availability_service -->|"reads and saves"| node_availability_store
node_staff -->|"requests"| node_public_controller
node_public_controller -->|"dispatches"| node_public_service
node_public_service -->|"reads and saves"| node_public_store

click node_pedido_controller "https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/ordering/api/controller/PedidoController.java"
click node_pedido_service "https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/ordering/application/PedidoService.java"
click node_pedido_store "https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/domain/repository/PedidoRepository.java"
click node_atencion_controller "https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/serviceoperation/api/controller/AtencionController.java"
click node_atencion_service "https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/serviceoperation/application/AtencionService.java"
click node_atencion_store "https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/domain/repository/AtencionRepository.java"
click node_reserva_controller "https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/reservation/api/controller/ReservaController.java"
click node_reserva_service "https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/reservation/application/ReservaService.java"
click node_reserva_store "https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/domain/repository/ReservaRepository.java"
click node_cobro_controller "https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/payment/api/controller/CobroController.java"
click node_cobro_service "https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/payment/application/CobroService.java"
click node_cobro_store "https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/domain/repository/CobroRepository.java"
click node_cierre_controller "https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/closing/api/controller/CierreController.java"
click node_cierre_service "https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/closing/application/CierreService.java"
click node_cierre_store "https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/domain/repository/CierreOperativoRepository.java"
click node_incidencia_controller "https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/incident/api/controller/IncidenciaController.java"
click node_incidencia_service "https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/incident/application/IncidenciaService.java"
click node_incidencia_store "https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/domain/repository/IncidenciaOperativaRepository.java"
click node_availability_controller "https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/productavailability/api/controller/DisponibilidadProductoController.java"
click node_availability_service "https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/productavailability/application/DisponibilidadProductoService.java"
click node_availability_store "https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/domain/repository/DisponibilidadProductoRepository.java"
click node_public_controller "https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/publicinformation/api/controller/InformacionPublicaController.java"
click node_public_service "https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/publicinformation/application/InformacionPublicaService.java"
click node_public_store "https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/domain/repository/InformacionPublicaRepository.java"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_pedido_controller,node_atencion_controller,node_reserva_controller,node_cobro_controller,node_cierre_controller,node_incidencia_controller,node_availability_controller,node_public_controller,node_staff toneBlue
class node_pedido_service,node_atencion_service,node_reserva_service,node_cobro_service,node_cierre_service,node_incidencia_service,node_availability_service,node_public_service toneAmber
class node_pedido_store,node_atencion_store,node_reserva_store,node_cobro_store,node_cierre_store,node_incidencia_store,node_availability_store,node_public_store toneRose
```

## Components

### REST API

- [Orders API](https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/ordering/api/controller/PedidoController.java): `restaurant-api/src/main/java/com/restaurant/api/ordering/api/controller/PedidoController.java`
- [Service API](https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/serviceoperation/api/controller/AtencionController.java): `restaurant-api/src/main/java/com/restaurant/api/serviceoperation/api/controller/AtencionController.java`
- [Reservations API](https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/reservation/api/controller/ReservaController.java): `restaurant-api/src/main/java/com/restaurant/api/reservation/api/controller/ReservaController.java`
- [Payments API](https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/payment/api/controller/CobroController.java): `restaurant-api/src/main/java/com/restaurant/api/payment/api/controller/CobroController.java`
- [Closing API](https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/closing/api/controller/CierreController.java): `restaurant-api/src/main/java/com/restaurant/api/closing/api/controller/CierreController.java`
- [Incidents API](https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/incident/api/controller/IncidenciaController.java): `restaurant-api/src/main/java/com/restaurant/api/incident/api/controller/IncidenciaController.java`
- [Availability API](https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/productavailability/api/controller/DisponibilidadProductoController.java): `restaurant-api/src/main/java/com/restaurant/api/productavailability/api/controller/DisponibilidadProductoController.java`
- [Public info API](https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/publicinformation/api/controller/InformacionPublicaController.java): `restaurant-api/src/main/java/com/restaurant/api/publicinformation/api/controller/InformacionPublicaController.java`

### Restaurant Operations

- [Order service](https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/ordering/application/PedidoService.java): `restaurant-api/src/main/java/com/restaurant/api/ordering/application/PedidoService.java`
- [Service operation](https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/serviceoperation/application/AtencionService.java): `restaurant-api/src/main/java/com/restaurant/api/serviceoperation/application/AtencionService.java`
- [Reservation service](https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/reservation/application/ReservaService.java): `restaurant-api/src/main/java/com/restaurant/api/reservation/application/ReservaService.java`
- [Payment service](https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/payment/application/CobroService.java): `restaurant-api/src/main/java/com/restaurant/api/payment/application/CobroService.java`
- [Closing service](https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/closing/application/CierreService.java): `restaurant-api/src/main/java/com/restaurant/api/closing/application/CierreService.java`
- [Incident service](https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/incident/application/IncidenciaService.java): `restaurant-api/src/main/java/com/restaurant/api/incident/application/IncidenciaService.java`
- [Availability service](https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/productavailability/application/DisponibilidadProductoService.java): `restaurant-api/src/main/java/com/restaurant/api/productavailability/application/DisponibilidadProductoService.java`
- [Public info service](https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/publicinformation/application/InformacionPublicaService.java): `restaurant-api/src/main/java/com/restaurant/api/publicinformation/application/InformacionPublicaService.java`

### Shared Domain

- [Order repository](https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/domain/repository/PedidoRepository.java): `restaurant-api/src/main/java/com/restaurant/api/domain/repository/PedidoRepository.java`
- [Service repository](https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/domain/repository/AtencionRepository.java): `restaurant-api/src/main/java/com/restaurant/api/domain/repository/AtencionRepository.java`
- [Reservation repository](https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/domain/repository/ReservaRepository.java): `restaurant-api/src/main/java/com/restaurant/api/domain/repository/ReservaRepository.java`
- [Payment repository](https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/domain/repository/CobroRepository.java): `restaurant-api/src/main/java/com/restaurant/api/domain/repository/CobroRepository.java`
- [Closing repository](https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/domain/repository/CierreOperativoRepository.java): `restaurant-api/src/main/java/com/restaurant/api/domain/repository/CierreOperativoRepository.java`
- [Incident repository](https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/domain/repository/IncidenciaOperativaRepository.java): `restaurant-api/src/main/java/com/restaurant/api/domain/repository/IncidenciaOperativaRepository.java`
- [Availability repository](https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/domain/repository/DisponibilidadProductoRepository.java): `restaurant-api/src/main/java/com/restaurant/api/domain/repository/DisponibilidadProductoRepository.java`
- [Public info repository](https://github.com/leopuentearce-boop/restaurant-platform/blob/develop/restaurant-api/src/main/java/com/restaurant/api/domain/repository/InformacionPublicaRepository.java): `restaurant-api/src/main/java/com/restaurant/api/domain/repository/InformacionPublicaRepository.java`

### Other components

- **API user**

## Connections

- API user → Orders API: requests
- Orders API → Order service: dispatches
- Order service → Order repository: queries
- API user → Service API: requests
- Service API → Service operation: dispatches
- Service operation → Service repository: reads and saves
- API user → Reservations API: requests
- Reservations API → Reservation service: dispatches
- Reservation service → Reservation repository: reads and saves
- API user → Payments API: requests
- Payments API → Payment service: dispatches
- Payment service → Payment repository: reads and saves
- API user → Closing API: requests
- Closing API → Closing service: dispatches
- Closing service → Closing repository: reads and saves
- API user → Incidents API: requests
- Incidents API → Incident service: dispatches
- Incident service → Incident repository: reads and saves
- API user → Availability API: requests
- Availability API → Availability service: dispatches
- Availability service → Availability repository: reads and saves
- API user → Public info API: requests
- Public info API → Public info service: dispatches
- Public info service → Public info repository: reads and saves
