# lalibimohamed-maker/-dorar-hadith-api-official architecture

> Architecture diagram of the GitHub repository lalibimohamed-maker/-dorar-hadith-api-official, 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/lalibimohamed-maker/-dorar-hadith-api-official
- Repository: https://github.com/lalibimohamed-maker/-dorar-hadith-api-official

## Overview

Deen Allah is a multilingual, source-aware Islamic knowledge API and learning platform. The main workflow is a user query reaching the HTTP API, which delegates to federated search and returns results with source and language context. Separate branches provide Quran, hadith, comparative fiqh, inheritance, book-catalog and educational capabilities. Edges reflect shown imports/calls or README descriptions; several documented features have no sampled runtime wiring, so their links are omitted.

Main entry points: [`dorar_json_api.js`](https://github.com/lalibimohamed-maker/-dorar-hadith-api-official/blob/main/dorar_json_api.js) (HTTP API), [`src/unified-search.js`](https://github.com/lalibimohamed-maker/-dorar-hadith-api-official/blob/main/src/unified-search.js) (Unified search), [`src/source-registry.js`](https://github.com/lalibimohamed-maker/-dorar-hadith-api-official/blob/main/src/source-registry.js) (Source registry), [`src/book-catalog.js`](https://github.com/lalibimohamed-maker/-dorar-hadith-api-official/blob/main/src/book-catalog.js) (Book catalog)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_api["API and discovery"]
  node_http["HTTP API<br/>[dorar_json_api.js]"]
  node_search["Unified search<br/>[unified-search.js]"]
  node_locale["Language handling<br/>[i18n.js]"]
end

subgraph group_knowledge["Knowledge domains"]
  node_hadith["Hadith search<br/>[dorar-client.js]"]
  node_quran["Quran text<br/>[quran-ayah.js]"]
  node_translations["Quran translations"]
  node_fiqh["Fiqh research<br/>[fiqh-research.js]"]
  node_inheritance["Inheritance calculator"]
  node_genealogy["Historical research"]
  node_scholars["Scholar research"]
end

subgraph group_sources["Sources and books"]
  node_registry[("Source registry<br/>[source-registry.js]")]
  node_books[("Book catalog<br/>[book-catalog.js]")]
  node_rights["Book rights"]
  node_hadith_ingest["Hadith ingestion"]
end

subgraph group_learning["Learning"]
  node_selftest["Self-test engine"]
  node_flashcards["Flashcard engine"]
  node_learning_intel["Learning intelligence"]
  node_recitation["Recitation and tajweed"]
  node_dailycard["Daily cards"]
  node_dhikr["Dhikr guidance"]
end

node_user(("API user"))

node_user -->|"queries"| node_http
node_http -->|"delegates search"| node_search
node_http -->|"resolves language"| node_locale
node_http -->|"reads source data"| node_registry
node_http -->|"lists books"| node_books
node_http -->|"gets ayah"| node_quran
node_search -->|"searches hadith"| node_hadith
node_search -->|"reads sources"| node_registry
node_search -->|"searches fiqh"| node_fiqh
node_search -->|"builds history context"| node_genealogy
node_search -->|"searches scholars"| node_scholars
node_search -->|"indexes book records"| node_books
node_http -->|"serves translations"| node_translations
node_http -->|"serves fiqh research"| node_fiqh
node_http -->|"calculates shares"| node_inheritance
node_hadith_ingest -->|"validates source"| node_registry
node_rights -.->|"governs reuse"| node_books
node_selftest -.->|"uses questions"| node_flashcards
node_learning_intel -->|"loads configuration"| node_flashcards
node_user -->|"practices"| node_selftest
node_user -->|"trains recitation"| node_recitation
node_dailycard -->|"loads card policy"| node_dhikr

click node_http "https://github.com/lalibimohamed-maker/-dorar-hadith-api-official/blob/main/dorar_json_api.js"
click node_search "https://github.com/lalibimohamed-maker/-dorar-hadith-api-official/blob/main/src/unified-search.js"
click node_registry "https://github.com/lalibimohamed-maker/-dorar-hadith-api-official/blob/main/src/source-registry.js"
click node_hadith "https://github.com/lalibimohamed-maker/-dorar-hadith-api-official/blob/main/src/dorar-client.js"
click node_quran "https://github.com/lalibimohamed-maker/-dorar-hadith-api-official/blob/main/src/quran-ayah.js"
click node_translations "https://github.com/lalibimohamed-maker/-dorar-hadith-api-official/blob/main/src/quran-translations.js"
click node_fiqh "https://github.com/lalibimohamed-maker/-dorar-hadith-api-official/blob/main/src/fiqh-research.js"
click node_inheritance "https://github.com/lalibimohamed-maker/-dorar-hadith-api-official/blob/main/src/inheritance-calculator.js"
click node_genealogy "https://github.com/lalibimohamed-maker/-dorar-hadith-api-official/blob/main/src/prophets-companions-genealogy-search.js"
click node_scholars "https://github.com/lalibimohamed-maker/-dorar-hadith-api-official/blob/main/src/scholar-research.js"
click node_books "https://github.com/lalibimohamed-maker/-dorar-hadith-api-official/blob/main/src/book-catalog.js"
click node_rights "https://github.com/lalibimohamed-maker/-dorar-hadith-api-official/blob/main/src/book-rights-resolver.js"
click node_hadith_ingest "https://github.com/lalibimohamed-maker/-dorar-hadith-api-official/blob/main/src/hadith-ingestion-pipeline.js"
click node_locale "https://github.com/lalibimohamed-maker/-dorar-hadith-api-official/blob/main/src/i18n.js"
click node_selftest "https://github.com/lalibimohamed-maker/-dorar-hadith-api-official/blob/main/web/self-test-engine.js"
click node_flashcards "https://github.com/lalibimohamed-maker/-dorar-hadith-api-official/blob/main/src/learning/flashcard-engine.mjs"
click node_learning_intel "https://github.com/lalibimohamed-maker/-dorar-hadith-api-official/blob/main/src/learning/rechercher-learning-intelligence-engine.mjs"
click node_recitation "https://github.com/lalibimohamed-maker/-dorar-hadith-api-official/blob/main/web/quran-recitation-ui.js"
click node_dailycard "https://github.com/lalibimohamed-maker/-dorar-hadith-api-official/blob/main/src/islamic/daily-card-engine.mjs"
click node_dhikr "https://github.com/lalibimohamed-maker/-dorar-hadith-api-official/blob/main/src/islamic/dhikr-orchestrator.mjs"

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_http,node_search,node_locale,node_user toneBlue
class node_hadith,node_quran,node_translations,node_fiqh,node_inheritance,node_genealogy,node_scholars toneAmber
class node_registry,node_books,node_rights,node_hadith_ingest toneMint
class node_selftest,node_flashcards,node_learning_intel,node_recitation,node_dailycard,node_dhikr toneRose
```

## Components

### API and discovery

- [HTTP API](https://github.com/lalibimohamed-maker/-dorar-hadith-api-official/blob/main/dorar_json_api.js): `dorar_json_api.js`
- [Unified search](https://github.com/lalibimohamed-maker/-dorar-hadith-api-official/blob/main/src/unified-search.js): `src/unified-search.js`
- [Language handling](https://github.com/lalibimohamed-maker/-dorar-hadith-api-official/blob/main/src/i18n.js): `src/i18n.js`

### Knowledge domains

- [Hadith search](https://github.com/lalibimohamed-maker/-dorar-hadith-api-official/blob/main/src/dorar-client.js): `src/dorar-client.js`
- [Quran text](https://github.com/lalibimohamed-maker/-dorar-hadith-api-official/blob/main/src/quran-ayah.js): `src/quran-ayah.js`
- [Quran translations](https://github.com/lalibimohamed-maker/-dorar-hadith-api-official/blob/main/src/quran-translations.js): `src/quran-translations.js`
- [Fiqh research](https://github.com/lalibimohamed-maker/-dorar-hadith-api-official/blob/main/src/fiqh-research.js): `src/fiqh-research.js`
- [Inheritance calculator](https://github.com/lalibimohamed-maker/-dorar-hadith-api-official/blob/main/src/inheritance-calculator.js): `src/inheritance-calculator.js`
- [Historical research](https://github.com/lalibimohamed-maker/-dorar-hadith-api-official/blob/main/src/prophets-companions-genealogy-search.js): `src/prophets-companions-genealogy-search.js`
- [Scholar research](https://github.com/lalibimohamed-maker/-dorar-hadith-api-official/blob/main/src/scholar-research.js): `src/scholar-research.js`

### Sources and books

- [Source registry](https://github.com/lalibimohamed-maker/-dorar-hadith-api-official/blob/main/src/source-registry.js): `src/source-registry.js`
- [Book catalog](https://github.com/lalibimohamed-maker/-dorar-hadith-api-official/blob/main/src/book-catalog.js): `src/book-catalog.js`
- [Book rights](https://github.com/lalibimohamed-maker/-dorar-hadith-api-official/blob/main/src/book-rights-resolver.js): `src/book-rights-resolver.js`
- [Hadith ingestion](https://github.com/lalibimohamed-maker/-dorar-hadith-api-official/blob/main/src/hadith-ingestion-pipeline.js): `src/hadith-ingestion-pipeline.js`

### Learning

- [Self-test engine](https://github.com/lalibimohamed-maker/-dorar-hadith-api-official/blob/main/web/self-test-engine.js): `web/self-test-engine.js`
- [Flashcard engine](https://github.com/lalibimohamed-maker/-dorar-hadith-api-official/blob/main/src/learning/flashcard-engine.mjs): `src/learning/flashcard-engine.mjs`
- [Learning intelligence](https://github.com/lalibimohamed-maker/-dorar-hadith-api-official/blob/main/src/learning/rechercher-learning-intelligence-engine.mjs): `src/learning/rechercher-learning-intelligence-engine.mjs`
- [Recitation and tajweed](https://github.com/lalibimohamed-maker/-dorar-hadith-api-official/blob/main/web/quran-recitation-ui.js): `web/quran-recitation-ui.js`
- [Daily cards](https://github.com/lalibimohamed-maker/-dorar-hadith-api-official/blob/main/src/islamic/daily-card-engine.mjs): `src/islamic/daily-card-engine.mjs`
- [Dhikr guidance](https://github.com/lalibimohamed-maker/-dorar-hadith-api-official/blob/main/src/islamic/dhikr-orchestrator.mjs): `src/islamic/dhikr-orchestrator.mjs`

### Other components

- **API user**

## Connections

- API user → HTTP API: queries (evidence: `README.md`)
- HTTP API → Unified search: delegates search (evidence: `dorar_json_api.js`)
- HTTP API → Language handling: resolves language (evidence: `dorar_json_api.js`)
- HTTP API → Source registry: reads source data (evidence: `dorar_json_api.js`)
- HTTP API → Book catalog: lists books (evidence: `dorar_json_api.js`)
- HTTP API → Quran text: gets ayah (evidence: `dorar_json_api.js`)
- Unified search → Hadith search: searches hadith (evidence: `src/unified-search.js`)
- Unified search → Source registry: reads sources (evidence: `src/unified-search.js`)
- Unified search → Fiqh research: searches fiqh (evidence: `src/unified-search.js`)
- Unified search → Historical research: builds history context (evidence: `src/unified-search.js`)
- Unified search → Scholar research: searches scholars (evidence: `src/unified-search.js`)
- Unified search → Book catalog: indexes book records (evidence: `src/unified-search.js`)
- HTTP API → Quran translations: serves translations (evidence: `dorar_json_api.js`)
- HTTP API → Fiqh research: serves fiqh research (evidence: `dorar_json_api.js`)
- HTTP API → Inheritance calculator: calculates shares (evidence: `dorar_json_api.js`)
- Hadith ingestion → Source registry: validates source (evidence: `src/hadith-ingestion-pipeline.js`)
- Book rights → Book catalog: governs reuse
- Self-test engine → Flashcard engine: uses questions
- Learning intelligence → Flashcard engine: loads configuration (evidence: `src/learning/rechercher-learning-intelligence-engine.mjs`)
- API user → Self-test engine: practices (evidence: `README.md`)
- API user → Recitation and tajweed: trains recitation (evidence: `README.md`)
- Daily cards → Dhikr guidance: loads card policy (evidence: `src/islamic/daily-card-engine.mjs`)
