# ridwanridu/bdroutings architecture

> Architecture diagram of the GitHub repository ridwanridu/bdroutings, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-08-01). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/ridwanridu/bdroutings
- Repository: https://github.com/ridwanridu/bdroutings

## Overview

#### Purpose and delivery model
BD Routings is a static, browser-only Bangladesh Bank Routing Number lookup tool. It supports reverse lookup from a 9-digit routing number and forward lookup from bank plus branch, with a separate printable bank-details card utility. There is no indicated backend, API, database, or server-side runtime.

#### User entry points
- `index.html` is the primary search interface. It exposes routing-number search and bank/branch-driven routing retrieval.
- `card.html` is a separate account/bank-details card generator intended for rendering and printing/sharing formatted details.
- `googled3e9901256669fbd.html` is a Google site-verification artifact, not an application flow.

#### Routing-data boundary
- `banks.json` is the application’s local authoritative dataset of Bangladesh Bank routing records.
- Browser-side JavaScript loaded by `index.html` is expected to load and query this dataset; the data file is the key boundary between lookup UI and banking-reference content.
- Because the dataset is static and locally hosted, accuracy updates are delivered by publishing a revised `banks.json`, rather than through a live financial-data integration.

#### Lookup flow
1. The main page loads its UI and routing dataset from `index.html` and `banks.json`.
2. For routing-number lookup, the entered 9-digit value is matched against routing records, returning bank, branch, and available address details.
3. For bank/branch lookup, the bank selection constrains the available branch selection; the selected pair resolves to one routing number.
4. Results are rendered in the page without a server round trip beyond static asset loading.

#### Card-generation flow
- `card.html` accepts account-holder and bank fields such as account name, account number, and routing number.
- It renders those inputs as a clean card suitable for printing or sharing.
- This utility is independent of the routing-search data path unless its page implementation explicitly reuses `banks.json` (not established by the supplied tree).

#### Runtime and infrastructure
- Runtime: standard web browser using HTML5, CSS, and client-side JavaScript.
- Hosting: GitHub Pages is the indicated deployment target (`https://ridwanridu.github.io/bdroutings`).
- Automation: the README’s deployment badge references a GitHub Actions deployment workflow, though workflow files are not present in the supplied tree.
- External dependency surface appears minimal: static hosting, optional Google ownership verification, and no documented external lookup service.

Main entry points: [`index.html`](https://github.com/ridwanridu/bdroutings/blob/main/index.html) (Lookup logic), [`banks.json`](https://github.com/ridwanridu/bdroutings/blob/main/banks.json) (Routing records), [`card.html`](https://github.com/ridwanridu/bdroutings/blob/main/card.html) (Details card generator), [`googled3e9901256669fbd.html`](https://github.com/ridwanridu/bdroutings/blob/main/googled3e9901256669fbd.html) (Google verification)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_browser["Browser app"]
  node_search_page["Search interface<br/>HTML page<br/>[index.html]"]
  node_lookup_logic["Lookup logic<br/>client-side JavaScript<br/>[index.html]"]
  node_routing_input["9-digit routing lookup<br/>search flow<br/>[index.html]"]
  node_bank_branch_input["Bank and branch lookup<br/>search flow<br/>[index.html]"]
  node_search_results["Rendered results<br/>browser view<br/>[index.html]"]
  node_card_page["Details card generator<br/>HTML page<br/>[card.html]"]
  node_card_renderer["Card renderer<br/>client-side JavaScript<br/>[card.html]"]
  node_print_share["Print or share card<br/>browser output<br/>[card.html]"]
end

subgraph group_delivery["Publishing"]
  node_github_actions{{"GitHub Actions deploy<br/>deployment automation"}}
  node_github_pages["GitHub Pages<br/>static hosting"]
  node_verification["Google verification<br/>ownership artifact"]
end

node_routing_data[("Routing records<br/>static reference data<br/>[banks.json]")]

node_search_page -->|"runs"| node_lookup_logic
node_lookup_logic -->|"loads and queries"| node_routing_data
node_routing_input -->|"submits value"| node_lookup_logic
node_bank_branch_input -->|"submits selection"| node_lookup_logic
node_routing_data -->|"supplies banks and branches"| node_bank_branch_input
node_lookup_logic -->|"renders match"| node_search_results
node_card_page -->|"runs"| node_card_renderer
node_card_renderer -->|"renders formatted card"| node_print_share
node_github_actions -.->|"deploys static assets"| node_github_pages
node_github_pages -->|"serves"| node_search_page
node_github_pages -->|"serves"| node_card_page
node_github_pages -->|"serves"| node_routing_data
node_github_pages -.->|"serves"| node_verification

click node_search_page "https://github.com/ridwanridu/bdroutings/blob/main/index.html"
click node_lookup_logic "https://github.com/ridwanridu/bdroutings/blob/main/index.html"
click node_routing_data "https://github.com/ridwanridu/bdroutings/blob/main/banks.json"
click node_routing_input "https://github.com/ridwanridu/bdroutings/blob/main/index.html"
click node_bank_branch_input "https://github.com/ridwanridu/bdroutings/blob/main/index.html"
click node_search_results "https://github.com/ridwanridu/bdroutings/blob/main/index.html"
click node_card_page "https://github.com/ridwanridu/bdroutings/blob/main/card.html"
click node_card_renderer "https://github.com/ridwanridu/bdroutings/blob/main/card.html"
click node_print_share "https://github.com/ridwanridu/bdroutings/blob/main/card.html"
click node_verification "https://github.com/ridwanridu/bdroutings/blob/main/googled3e9901256669fbd.html"

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_search_page,node_lookup_logic,node_routing_input,node_bank_branch_input,node_search_results,node_card_page,node_card_renderer,node_print_share toneBlue
class node_github_actions,node_github_pages,node_verification toneAmber
class node_routing_data toneNeutral
```

## Components

### Browser app

Static HTML, CSS, and client-side JavaScript.

- [Search interface](https://github.com/ridwanridu/bdroutings/blob/main/index.html): HTML page · Routing-number and bank/branch lookup UI. · `index.html`
- [Lookup logic](https://github.com/ridwanridu/bdroutings/blob/main/index.html): client-side JavaScript · Loads records, filters branches, and renders results. · `index.html`
- [9-digit routing lookup](https://github.com/ridwanridu/bdroutings/blob/main/index.html): search flow · Resolves a routing number to bank, branch, and address. · `index.html`
- [Bank and branch lookup](https://github.com/ridwanridu/bdroutings/blob/main/index.html): search flow · Bank selection constrains branches and resolves one routing number. · `index.html`
- [Rendered results](https://github.com/ridwanridu/bdroutings/blob/main/index.html): browser view · Results update without an application server round trip. · `index.html`
- [Details card generator](https://github.com/ridwanridu/bdroutings/blob/main/card.html): HTML page · Independent printable and shareable bank-details card utility. · `card.html`
- [Card renderer](https://github.com/ridwanridu/bdroutings/blob/main/card.html): client-side JavaScript · Formats account-holder and bank fields into a card. · `card.html`
- [Print or share card](https://github.com/ridwanridu/bdroutings/blob/main/card.html): browser output · `card.html`

### Publishing

Static-site deployment.

- **GitHub Actions deploy**: deployment automation · Referenced by the README; workflow source is not present.
- **GitHub Pages**: static hosting · Publishes the browser-only application.
- [Google verification](https://github.com/ridwanridu/bdroutings/blob/main/googled3e9901256669fbd.html): ownership artifact · Not part of the application flow. · `googled3e9901256669fbd.html`

### Other components

- [Routing records](https://github.com/ridwanridu/bdroutings/blob/main/banks.json): static reference data · Authoritative Bangladesh Bank routing dataset. · `banks.json`

## Connections

- Search interface → Lookup logic: runs
- Lookup logic → Routing records: loads and queries
- 9-digit routing lookup → Lookup logic: submits value
- Bank and branch lookup → Lookup logic: submits selection
- Routing records → Bank and branch lookup: supplies banks and branches
- Lookup logic → Rendered results: renders match
- Details card generator → Card renderer: runs
- Card renderer → Print or share card: renders formatted card
- GitHub Actions deploy → GitHub Pages: deploys static assets
- GitHub Pages → Search interface: serves
- GitHub Pages → Details card generator: serves
- GitHub Pages → Routing records: serves
- GitHub Pages → Google verification: serves
