diff --git a/README.md b/README.md index b27aff3..a58fcb5 100644 --- a/README.md +++ b/README.md @@ -75,17 +75,12 @@ The **Scouter** workflow is the main entry point for data processing pipelines. #### Architecture ```mermaid -flowchart TB - subgraph " " - A[1. get_last_data_timestamp] --- B[2. load_latest_data] --- C[3. put_last_data_timestamp] --- D[4. core_scouter ⬛] - end - subgraph " " - Redis[(Redis)] ~~~ MongoDB[(MongoDB)] ~~~ Redis2[(Redis)] - end +flowchart LR + A[1. get_last_data_timestamp] --> B[2. load_latest_data] --> C[3. put_last_data_timestamp] --> D[4. core_scouter ⬛] - A -.-> Redis - B -.-> MongoDB - C -.-> Redis2 + A -.-> Redis[(Redis)] + B -.-> MongoDB[(MongoDB)] + C -.-> Redis ``` ### Key Components @@ -152,6 +147,27 @@ The **CoreScouter** workflow implements the core data processing pipeline for in } ``` +#### Architecture + +```mermaid +flowchart TB + subgraph workflow [" "] + A[1. get_last_data_timestamp] --> B[2. load_latest_data] --> C[3. put_last_data_timestamp] --> D[4. core_scouter ⬛] + end + + subgraph services [" "] + Redis1[(Redis)] ~~~ MongoDB[(MongoDB)] ~~~ Redis2[(Redis)] ~~~ CoreOut[Output] + end + + A -.-> Redis1 + B -.-> MongoDB + C -.-> Redis2 + D -.-> CoreOut + + style workflow fill:none,stroke:none + style services fill:none,stroke:none +``` + ### 3. FakeData Workflow (`fake_data.py`) The **FakeData** workflow generates synthetic industrial sensor data for testing and development purposes. It's designed to simulate realistic data flows without requiring actual industrial data sources. @@ -184,6 +200,24 @@ The **FakeData** workflow generates synthetic industrial sensor data for testing } ``` +#### Architecture + +```mermaid +flowchart TB + subgraph workflow [" "] + A[1. generate_and_send_data] + end + + subgraph services [" "] + Kafka[(Kafka)] + end + + A -.-> Kafka + + style workflow fill:none,stroke:none + style services fill:none,stroke:none +``` + ## 📋 Prerequisites - Python 3.11+