# maisondenisccsth/route-coordinate-matcher architecture

> Architecture diagram of the GitHub repository maisondenisccsth/route-coordinate-matcher, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-12). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/maisondenisccsth/route-coordinate-matcher
- Repository: https://github.com/maisondenisccsth/route-coordinate-matcher

## Overview

This is a single-file Streamlit application for matching route spreadsheets to coordinates and producing spreadsheet outputs. The visible workflow includes uploaded-file processing and result reporting; the excerpt also shows a regional BKK worksheet flow and PKT data preparation. The README is empty, and the source excerpt omits most call sites, so several relationships between these capabilities cannot be verified and are left unconnected rather than inferred.

Main entry points: [`streamlit_app.py`](https://github.com/maisondenisccsth/route-coordinate-matcher/blob/main/streamlit_app.py) (Streamlit interface)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_interface["Web interface"]
  node_streamlit_ui["Streamlit interface<br/>[streamlit_app.py]"]
  node_result_report["Match results<br/>[streamlit_app.py]"]
end

subgraph group_matching["Coordinate matching"]
  node_master_data["Master data loading<br/>[streamlit_app.py]"]
  node_route_match["Route matching<br/>[streamlit_app.py]"]
  node_match_helpers["Normalization helpers<br/>[streamlit_app.py]"]
end

subgraph group_workbooks["Spreadsheet workflows"]
  node_workbook_input["Workbook upload<br/>[streamlit_app.py]"]
  node_bkk_orders["BKK order parsing<br/>[streamlit_app.py]"]
  node_bkk_worksheets["BKK worksheet flow<br/>[streamlit_app.py]"]
  node_pkt_processing["PKT data processing<br/>[streamlit_app.py]"]
  node_excel_styles["Excel style conversion<br/>[streamlit_app.py]"]
  node_review_edits["Address review edits<br/>[streamlit_app.py]"]
end

node_user(("User"))

node_user -.->|"uses"| node_streamlit_ui
node_streamlit_ui -.->|"shows results"| node_result_report
node_streamlit_ui -->|"parses orders"| node_bkk_orders

click node_streamlit_ui "https://github.com/maisondenisccsth/route-coordinate-matcher/blob/main/streamlit_app.py"
click node_result_report "https://github.com/maisondenisccsth/route-coordinate-matcher/blob/main/streamlit_app.py"
click node_master_data "https://github.com/maisondenisccsth/route-coordinate-matcher/blob/main/streamlit_app.py"
click node_route_match "https://github.com/maisondenisccsth/route-coordinate-matcher/blob/main/streamlit_app.py"
click node_match_helpers "https://github.com/maisondenisccsth/route-coordinate-matcher/blob/main/streamlit_app.py"
click node_workbook_input "https://github.com/maisondenisccsth/route-coordinate-matcher/blob/main/streamlit_app.py"
click node_bkk_orders "https://github.com/maisondenisccsth/route-coordinate-matcher/blob/main/streamlit_app.py"
click node_bkk_worksheets "https://github.com/maisondenisccsth/route-coordinate-matcher/blob/main/streamlit_app.py"
click node_pkt_processing "https://github.com/maisondenisccsth/route-coordinate-matcher/blob/main/streamlit_app.py"
click node_excel_styles "https://github.com/maisondenisccsth/route-coordinate-matcher/blob/main/streamlit_app.py"
click node_review_edits "https://github.com/maisondenisccsth/route-coordinate-matcher/blob/main/streamlit_app.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_streamlit_ui,node_result_report,node_user toneBlue
class node_master_data,node_route_match,node_match_helpers toneAmber
class node_workbook_input,node_bkk_orders,node_bkk_worksheets,node_pkt_processing,node_excel_styles,node_review_edits toneMint
```

## Components

### Web interface

- [Streamlit interface](https://github.com/maisondenisccsth/route-coordinate-matcher/blob/main/streamlit_app.py): `streamlit_app.py`
- [Match results](https://github.com/maisondenisccsth/route-coordinate-matcher/blob/main/streamlit_app.py): `streamlit_app.py`

### Coordinate matching

- [Master data loading](https://github.com/maisondenisccsth/route-coordinate-matcher/blob/main/streamlit_app.py): `streamlit_app.py`
- [Route matching](https://github.com/maisondenisccsth/route-coordinate-matcher/blob/main/streamlit_app.py): `streamlit_app.py`
- [Normalization helpers](https://github.com/maisondenisccsth/route-coordinate-matcher/blob/main/streamlit_app.py): `streamlit_app.py`

### Spreadsheet workflows

- [Workbook upload](https://github.com/maisondenisccsth/route-coordinate-matcher/blob/main/streamlit_app.py): `streamlit_app.py`
- [BKK order parsing](https://github.com/maisondenisccsth/route-coordinate-matcher/blob/main/streamlit_app.py): `streamlit_app.py`
- [BKK worksheet flow](https://github.com/maisondenisccsth/route-coordinate-matcher/blob/main/streamlit_app.py): `streamlit_app.py`
- [PKT data processing](https://github.com/maisondenisccsth/route-coordinate-matcher/blob/main/streamlit_app.py): `streamlit_app.py`
- [Excel style conversion](https://github.com/maisondenisccsth/route-coordinate-matcher/blob/main/streamlit_app.py): `streamlit_app.py`
- [Address review edits](https://github.com/maisondenisccsth/route-coordinate-matcher/blob/main/streamlit_app.py): `streamlit_app.py`

### Other components

- **User**

## Connections

- User → Streamlit interface: uses
- Streamlit interface → Match results: shows results (evidence: `streamlit_app.py`)
- Streamlit interface → BKK order parsing: parses orders (evidence: `streamlit_app.py`)
