# normangw/entity-resolver architecture

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

- Interactive diagram: https://gitdiagram.com/normangw/entity-resolver
- Repository: https://github.com/normangw/entity-resolver

## Overview

Entity Resolver is a small FastAPI service with health and company-resolution endpoints. A client submits a company name and language to `/resolve`; the current implementation returns the input with unresolved entity fields set to null—there is no matching model or data source yet. The API also exposes `/health`. The graph reflects the sampled runtime code and README; no additional resolver subsystem is documented or shown.

Main entry points: [`src/entity_resolver/main.py`](https://github.com/normangw/entity-resolver/blob/main/src/entity_resolver/main.py) (FastAPI Endpoints), [`src/entity_resolver/config.py`](https://github.com/normangw/entity-resolver/blob/main/src/entity_resolver/config.py) (Runtime Settings), [`src/entity_resolver/models.py`](https://github.com/normangw/entity-resolver/blob/main/src/entity_resolver/models.py) (Request and Responses)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_api["Service API"]
  node_service["FastAPI Endpoints<br/>[main.py]"]
end

subgraph group_contracts["Configuration and Models"]
  node_settings["Runtime Settings<br/>[config.py]"]
  node_models["Request and Responses<br/>[models.py]"]
end

node_client(("API Client"))

node_client -->|"calls endpoints"| node_service
node_service -->|"reads settings"| node_settings
node_service -->|"validates and returns"| node_models

click node_service "https://github.com/normangw/entity-resolver/blob/main/src/entity_resolver/main.py"
click node_settings "https://github.com/normangw/entity-resolver/blob/main/src/entity_resolver/config.py"
click node_models "https://github.com/normangw/entity-resolver/blob/main/src/entity_resolver/models.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_service,node_client toneBlue
class node_settings,node_models toneAmber
```

## Components

### Service API

- [FastAPI Endpoints](https://github.com/normangw/entity-resolver/blob/main/src/entity_resolver/main.py): `src/entity_resolver/main.py`

### Configuration and Models

- [Runtime Settings](https://github.com/normangw/entity-resolver/blob/main/src/entity_resolver/config.py): `src/entity_resolver/config.py`
- [Request and Responses](https://github.com/normangw/entity-resolver/blob/main/src/entity_resolver/models.py): `src/entity_resolver/models.py`

### Other components

- **API Client**

## Connections

- API Client → FastAPI Endpoints: calls endpoints (evidence: `README.md`)
- FastAPI Endpoints → Runtime Settings: reads settings (evidence: `src/entity_resolver/main.py`)
- FastAPI Endpoints → Request and Responses: validates and returns (evidence: `src/entity_resolver/main.py`)
