Configuration: UI Module - ChrisMavrommatis/Binacle.Net GitHub Wiki
The UI Module introduces a user-friendly frontend to Binacle.Net, primarily designed for demonstration purposes. Instead of interacting with the API directly, users can explore and interact with the features of Binacle.Net through a visual interface. This makes it easier to showcase functionality and demonstrate how the system works.
-
Packing Demo: This demo allows users to input bin and item data, and submit packing requests to Binacle.Net’s API. The results are displayed visually, showing how items are packed into each bin. Users can interact with the demo by stepping through the packing process item by item, using controls to see exactly how each item is placed within the bins.
-
Protocol Decoder: The Protocol Decoder allows users to decode ViPaq-encoded packing data and visualize the container layouts in an interactive manner. This tool helps users easily analyze packing arrangements and step through the layout, just like in the Packing Demo.
To obtain ViPaq data, use Version 3 of the API.
For detailed information on ViPaq, check out the ViPaq Protocol.
To enable the UI Module, set the following environment variable: UI_MODULE=True
, or modify the Features.json
file as shown below:
{
"Features": {
"SERVICE_MODULE": "NotSet",
"SWAGGER_UI": "NotSet",
"UI_MODULE": "True"
}
}
The configuration for the UI Module is located in /app/Config_Files/UiModule
. Here’s the relevant structure:
app
└── Config_Files
└── UiModule
└── ConnectionStrings.json
The UI Module attempts to automatically detect the correct URL for connecting to the Binacle.Net API. However, in some environments—especially when behind proxies or forwarding services—the URL detection may fail, resulting in issues with the Packing Demo or API communication errors.
If you encounter such issues, you may need to manually configure the API endpoint. This can be done by specifying the API URL in the ConnectionStrings.json
file, as demonstrated below:
{
"ConnectionStrings": {
"BinacleApi": "endpoint=https://localhost:8080/"
}
}
Alternatively, you can provide the API connection string through the environment variable BINACLEAPI_CONNECTION_STRING
.
Warning
Environment variables for connection strings do not take precedence over the configuration file. Instead, they act as fallback values if the configuration file does not provide them.