Skip to main content
The system architecture cleanly separates core ML logic (app-ml) from the UI layer (app-ui). However, both rely on a set of shared utilities and configurations to ensure consistency in paths, logging, and environment management.

Project Structure

The project root contains these shared assets:

Global Configuration

The config/config.yaml file acts as the single source of truth for infrastructure paths and service definitions that cross the ML/UI boundary.
config/config.yaml

Common Library (common/)

This lightweight library prevents code duplication between the separate Docker services.

utils.read_config

A robust YAML reader used by the Dash app to load settings without hardcoding paths.

data_manager.py

Standardizes DataFrame loading to ensure the UI reads Parquet files exactly as the model produced them (handling timestamp parsing and category types consistently).