How jesusho22/stockia-platform-os works
StockIA is a restaurant inventory and demand-forecasting REST API. Its main workflow is restaurant/team access, managing supply lots and recipes, recording sales, then using forecasts and alerting to support operational decisions; dashboard queries aggregate those results. The README describes the bounded contexts and their ACL/event boundaries, while sampled code directly verifies the dashboard’s calls to stock, sales, alerts, and forecasting facades and its weekly-savings calculation. Most other context internals were not sampled, so their internal call paths are not asserted here.
Main entry points: DashboardQueryServiceImpl.java Dashboard composition · RecipesController.java Recipes and sales · DemandForecastsController.java Forecasts and recommendations · AlertsController.java Alerts
Components 24
Identity and setup
- Restaurant setup
src/main/java/com/databit/stockia/platform/restaurantregistration/interfaces/rest/RestaurantRegistrationsController.java - Identity and roles
src/main/java/com/databit/stockia/platform/iam/interfaces/rest/AuthenticationController.java - User accounts
src/main/java/com/databit/stockia/platform/iam/domain/model/aggregates/User.java - Plans and billing
src/main/java/com/databit/stockia/platform/subscriptionpayments/interfaces/rest/SubscriptionsController.java
Restaurant operations
- Inventory lots
src/main/java/com/databit/stockia/platform/stockmanagement/interfaces/rest/InventoryItemsController.java - Stock allocation
src/main/java/com/databit/stockia/platform/stockmanagement/domain/services/StockAllocationService.java - Recipes and sales
src/main/java/com/databit/stockia/platform/recipesmanagement/interfaces/rest/RecipesController.java - Recipe model
src/main/java/com/databit/stockia/platform/recipesmanagement/domain/model/aggregates/Recipe.java - Sale model
src/main/java/com/databit/stockia/platform/recipesmanagement/domain/model/aggregates/Sale.java
Forecasting and advice
- Forecasts and recommendations
src/main/java/com/databit/stockia/platform/mlrecommendations/interfaces/rest/DemandForecastsController.java - Demand forecast
src/main/java/com/databit/stockia/platform/mlrecommendations/domain/model/aggregates/DemandForecast.java - Purchase and menu advice
src/main/java/com/databit/stockia/platform/mlrecommendations/domain/model/aggregates/Recommendation.java - ONNX demand model
src/main/java/com/databit/stockia/platform/mlrecommendations/infrastructure/machinelearning/OnnxDemandModel.java - Weather forecast
src/main/java/com/databit/stockia/platform/mlrecommendations/infrastructure/weather/OpenMeteoWeatherService.java
Alerts and analytics
- Alerts
src/main/java/com/databit/stockia/platform/notificationsmessaging/interfaces/rest/AlertsController.java - Alert policy and state
src/main/java/com/databit/stockia/platform/notificationsmessaging/domain/model/aggregates/Alert.java - Dashboard
src/main/java/com/databit/stockia/platform/analyticsdashboard/interfaces/rest/DashboardController.java - Dashboard composition
src/main/java/com/databit/stockia/platform/analyticsdashboard/application/internal/queryservices/DashboardQueryServiceImpl.java - Weekly savings
src/main/java/com/databit/stockia/platform/analyticsdashboard/domain/services/WeeklySavingsCalculator.java - Dashboard KPIs
src/main/java/com/databit/stockia/platform/analyticsdashboard/domain/model/valueobjects/DashboardSummary.java - Savings results
src/main/java/com/databit/stockia/platform/analyticsdashboard/domain/model/valueobjects/WeeklySavings.java
Shared platform
- Shared kernel
src/main/java/com/databit/stockia/platform/shared
Other components
- Restaurant team
- Open-Meteo
Connections 24
- Restaurant team → Restaurant setup: registers restaurant
- Restaurant team → Identity and roles: signs in
- Restaurant team → Plans and billing: manages subscription
- Restaurant team → Inventory lots: manages stock
- Restaurant team → Recipes and sales: records sales
- Restaurant team → Forecasts and recommendations: requests forecasts
- Restaurant team → Alerts: manages alerts
- Restaurant team → Dashboard: views metrics
- Identity and roles → User accounts: authenticates users
- Recipes and sales → Recipe model: manages recipes
- Recipes and sales → Sale model: records sales
- Forecasts and recommendations → Demand forecast: serves forecasts
- Forecasts and recommendations → Purchase and menu advice: serves recommendations
- Demand forecast → ONNX demand model: uses model
- Weather forecast → Open-Meteo: fetches forecasts
- Alerts → Alert policy and state: manages alerts
- Dashboard → Dashboard composition: queries dashboard
- Dashboard composition → Inventory lots: reads inventory
src/main/java/com/databit/stockia/platform/analyticsdashboard/application/internal/queryservices/DashboardQueryServiceImpl.java - Dashboard composition → Recipes and sales: reads sales
src/main/java/com/databit/stockia/platform/analyticsdashboard/application/internal/queryservices/DashboardQueryServiceImpl.java - Dashboard composition → Alerts: counts pending alerts
src/main/java/com/databit/stockia/platform/analyticsdashboard/application/internal/queryservices/DashboardQueryServiceImpl.java - Dashboard composition → Forecasts and recommendations: reads latest forecast
src/main/java/com/databit/stockia/platform/analyticsdashboard/application/internal/queryservices/DashboardQueryServiceImpl.java - Dashboard composition → Dashboard KPIs: builds summary
src/main/java/com/databit/stockia/platform/analyticsdashboard/application/internal/queryservices/DashboardQueryServiceImpl.java - Dashboard composition → Weekly savings: calculates savings
src/main/java/com/databit/stockia/platform/analyticsdashboard/application/internal/queryservices/DashboardQueryServiceImpl.java - Dashboard composition → Savings results: returns savings
src/main/java/com/databit/stockia/platform/analyticsdashboard/application/internal/queryservices/DashboardQueryServiceImpl.java