# damantha126/helakuru-esana-api architecture

> Architecture diagram of the GitHub repository damantha126/helakuru-esana-api, 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/damantha126/helakuru-esana-api
- Repository: https://github.com/damantha126/helakuru-esana-api

## Overview

This repository is primarily a dated Markdown archive of Sinhala news articles; it does not contain source code implementing an API. The README separately documents an unofficial hosted API with latest-news and news-by-ID endpoints, but the excerpts provide no evidence connecting that service to the checked-in archive. The graph therefore shows the archive and the documented consumer-to-service interaction as separate branches.

Main entry points: [`News/2026-09-23`](https://github.com/damantha126/helakuru-esana-api/tree/main/News/2026-09-23) (September 23 articles), [`News/2026-09-24`](https://github.com/damantha126/helakuru-esana-api/tree/main/News/2026-09-24) (September 24 articles), [`News/2026-09-25`](https://github.com/damantha126/helakuru-esana-api/tree/main/News/2026-09-25) (September 25 articles), [`News`](https://github.com/damantha126/helakuru-esana-api/tree/main/News) (Later articles)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_archive["News archive"]
  node_articles_sep23["September 23 articles"]
  node_articles_sep24["September 24 articles"]
  node_articles_sep25["September 25 articles"]
  node_articles_later["Later articles"]
end

subgraph group_api["Documented API"]
  node_hosted_api["Hosted Esana API"]
  node_latest_endpoint["Latest news route<br/>[README.md]"]
  node_news_id_endpoint["News by ID route<br/>[README.md]"]
end

node_reader(("News reader"))
node_api_consumer(("API consumer"))

node_reader -->|"reads"| node_articles_sep23
node_reader -->|"reads"| node_articles_sep24
node_reader -->|"reads"| node_articles_sep25
node_reader -->|"reads"| node_articles_later
node_api_consumer -->|"requests"| node_hosted_api
node_hosted_api -->|"serves"| node_latest_endpoint
node_hosted_api -->|"serves"| node_news_id_endpoint

click node_articles_sep23 "https://github.com/damantha126/helakuru-esana-api/tree/main/News/2026-09-23"
click node_articles_sep24 "https://github.com/damantha126/helakuru-esana-api/tree/main/News/2026-09-24"
click node_articles_sep25 "https://github.com/damantha126/helakuru-esana-api/tree/main/News/2026-09-25"
click node_articles_later "https://github.com/damantha126/helakuru-esana-api/tree/main/News"
click node_latest_endpoint "https://github.com/damantha126/helakuru-esana-api/blob/main/README.md"
click node_news_id_endpoint "https://github.com/damantha126/helakuru-esana-api/blob/main/README.md"

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_articles_sep23,node_articles_sep24,node_articles_sep25,node_articles_later toneBlue
class node_hosted_api,node_latest_endpoint,node_news_id_endpoint toneAmber
class node_reader toneIndigo
class node_api_consumer toneMint
```

## Components

### News archive

- [September 23 articles](https://github.com/damantha126/helakuru-esana-api/tree/main/News/2026-09-23): `News/2026-09-23`
- [September 24 articles](https://github.com/damantha126/helakuru-esana-api/tree/main/News/2026-09-24): `News/2026-09-24`
- [September 25 articles](https://github.com/damantha126/helakuru-esana-api/tree/main/News/2026-09-25): `News/2026-09-25`
- [Later articles](https://github.com/damantha126/helakuru-esana-api/tree/main/News): `News`

### Documented API

- **Hosted Esana API**
- [Latest news route](https://github.com/damantha126/helakuru-esana-api/blob/main/README.md): `README.md`
- [News by ID route](https://github.com/damantha126/helakuru-esana-api/blob/main/README.md): `README.md`

### Other components

- **News reader**
- **API consumer**

## Connections

- News reader → September 23 articles: reads
- News reader → September 24 articles: reads
- News reader → September 25 articles: reads
- News reader → Later articles: reads
- API consumer → Hosted Esana API: requests (evidence: `README.md`)
- Hosted Esana API → Latest news route: serves (evidence: `README.md`)
- Hosted Esana API → News by ID route: serves (evidence: `README.md`)
