%%{ init: { 'theme': 'base', 'themeVariables': { 'background': '#243A5E', 'primaryColor': '#50E6FF', 'primaryBorderColor': '#243A5E', 'tertiaryBorderColor': '#50E6FF', 'tertiaryColor': '#243A5E', 'fontFamily': 'Segoe UI', 'textColor': '#F0F0F0', 'lineColor': '#000000', 'primaryTextColor': '#000000', 'tertiaryTextColor': '#FFFFFF' } }}%%
flowchart LR
    authenticate((fa:fa-lock Authenticate))
    create-batch([fa:fa-plus Create batch])
    authenticate --> create-batch
    subgraph transactional-batch[Transactional batch]
        direction TB
        create-category-item[fa:fa-layer-group Create category item]
        create-product-item-1[fa:fa-file Create product item]
        create-product-item-2[fa:fa-file Create product item]
        create-product-item-3[fa:fa-file Create product item]
        create-category-item --- create-product-item-1
        create-product-item-1 --- create-product-item-2
        create-product-item-2 --- create-product-item-3
    end
    create-batch --> transactional-batch
    submit-batch([fa:fa-check Submit batch])
    transactional-batch --> submit-batch
    subgraph nosql-query[Query]
        direction TB
        create-query[fa:fa-search Create query]
        execute-query[fa:fa-bolt Execute query]
        output-results[fa:fa-print Output results]
        create-query --- execute-query
        execute-query --- output-results
    end
    submit-batch --> nosql-query