How ivanpopovicsiii/order-reservation-platform works
This is a single Spring Boot order-reservation backend. The documented primary workflow is an API client requesting orders, with the order service retrieving and shaping persisted orders; the tree and sampled code also show product-catalog and inventory-stock capabilities. The map separates API, domain services, persistence-facing repositories, and shared runtime concerns. Product and inventory routes are present in the tree, but their endpoint contracts and most controller behavior were not sampled; unsampled links are omitted.
Main entry points: InventoryStockService.java Inventory service · OrderService.java Order service · ProductService.java Product service · ProductRepository.java Product repository
Components 22
REST API
- Order API
src/main/java/com/ivanp/orderreservation/order/controller/OrderController.java - Product API
src/main/java/com/ivanp/orderreservation/product/controller/ProductController.java - Inventory API
src/main/java/com/ivanp/orderreservation/inventory/controller/InventoryStockController.java
Order Management
- Order service
src/main/java/com/ivanp/orderreservation/order/service/OrderService.java - Orders and items
src/main/java/com/ivanp/orderreservation/order/entity/Order.java - Order contracts
src/main/java/com/ivanp/orderreservation/order/request/CreateOrderRequest.java - Order responses
src/main/java/com/ivanp/orderreservation/order/response/OrderResponse.java
Catalog and Inventory
- Product service
src/main/java/com/ivanp/orderreservation/product/service/ProductService.java - Product catalog
src/main/java/com/ivanp/orderreservation/product/entity/Product.java - Product contracts
src/main/java/com/ivanp/orderreservation/product/request/CreateProductRequest.java - Product response
src/main/java/com/ivanp/orderreservation/product/response/ProductResponse.java - Inventory service
src/main/java/com/ivanp/orderreservation/inventory/service/InventoryStockService.java - Stock records
src/main/java/com/ivanp/orderreservation/inventory/entity/InventoryStock.java - Stock contracts
src/main/java/com/ivanp/orderreservation/inventory/request/CreateInventoryStockRequest.java - Stock response
src/main/java/com/ivanp/orderreservation/inventory/response/InventoryStockResponse.java
Persistence and Runtime
- Order repository
src/main/java/com/ivanp/orderreservation/order/repository/OrderRepository.java - Product repository
src/main/java/com/ivanp/orderreservation/product/repository/ProductRepository.java - Inventory repository
src/main/java/com/ivanp/orderreservation/inventory/repository/InventoryRepository.java - PostgreSQL
- Flyway migrations
src/main/resources/db/migration - Spring Boot app
src/main/java/com/ivanp/orderreservation/OrderReservationPlatformApplication.java
Other components
- API client
Connections 25
- API client → Order API: requests orders
README.md - Order API → Order service: delegates to
src/main/java/com/ivanp/orderreservation/order/controller/OrderController.java - Order service → Order repository: queries and saves
src/main/java/com/ivanp/orderreservation/order/service/OrderService.java - Order service → Orders and items: builds and maps
src/main/java/com/ivanp/orderreservation/order/service/OrderService.java - Order service → Order contracts: accepts
src/main/java/com/ivanp/orderreservation/order/service/OrderService.java - Order service → Order responses: creates
src/main/java/com/ivanp/orderreservation/order/service/OrderService.java - Order repository → Orders and items: persists
src/main/java/com/ivanp/orderreservation/order/repository/OrderRepository.java - Product API → Product service: delegates to
src/main/java/com/ivanp/orderreservation/product/controller/ProductController.java - Product service → Product repository: queries and saves
src/main/java/com/ivanp/orderreservation/product/service/ProductService.java - Product service → Product catalog: builds and maps
src/main/java/com/ivanp/orderreservation/product/service/ProductService.java - Product service → Product contracts: accepts
src/main/java/com/ivanp/orderreservation/product/service/ProductService.java - Product service → Product response: creates
src/main/java/com/ivanp/orderreservation/product/service/ProductService.java - Product repository → Product catalog: persists
src/main/java/com/ivanp/orderreservation/product/repository/ProductRepository.java - Inventory API → Inventory service: delegates to
src/main/java/com/ivanp/orderreservation/inventory/controller/InventoryStockController.java - Inventory service → Inventory repository: queries and saves
src/main/java/com/ivanp/orderreservation/inventory/service/InventoryStockService.java - Inventory service → Product repository: checks product
src/main/java/com/ivanp/orderreservation/inventory/service/InventoryStockService.java - Inventory service → Stock records: builds and maps
src/main/java/com/ivanp/orderreservation/inventory/service/InventoryStockService.java - Inventory service → Stock contracts: accepts
src/main/java/com/ivanp/orderreservation/inventory/service/InventoryStockService.java - Inventory service → Stock response: creates
src/main/java/com/ivanp/orderreservation/inventory/service/InventoryStockService.java - Inventory repository → Stock records: persists
src/main/java/com/ivanp/orderreservation/inventory/repository/InventoryRepository.java - Spring Boot app → PostgreSQL: runs with
README.md - Flyway migrations → PostgreSQL: changes schema
README.md - Order repository → PostgreSQL: persists through JPA
- Product repository → PostgreSQL: persists through JPA
- Inventory repository → PostgreSQL: persists through JPA