Quranic Universal Library (QUL)

repository·main·Indexed 21 days ago

https://github.com/tarteelai/quranic-universal-library

A Ruby on Rails-based Content Management System (CMS) designed for managing complex Quranic datasets, including translations, tafsirs, audio segments, Mushaf layouts, and morphology. QUL provides resources for discovering, downloading, and integrating Quranic data via JSON or SQLite formats, and includes guidelines for data schema optimization and performance best practices.

Tokens
28.4K
Snippets
50
Records
161
Agent score
76%

What's inside Quranic Universal Library

  1. Overview of Quranic Universal Library (QUL)

    main
    The Quranic Universal Library (QUL) is a comprehensive Content Management System (CMS) built with Ruby on Rails and Active Admin. It is designed to manage diverse Quranic datasets, including translations, tafsirs, audio (both ayah-by-ayah and gapless), audio segments, Arabic scripts (ayah and word-by-word), Mushaf layouts, and Quranic grammar/morphology. It also supports user role management, content versioning, and data import/export capabilities.
  2. Tutorial Index for Resource Integration

    main

    The Quranic Universal Library provides end-to-end tutorials for various resource types. Use these tutorials to learn how to implement specific data types into your application. The available tutorials are:

    • Recitation: tutorial-recitation-end-to-end.md
    • Mushaf Layout: tutorial-mushaf-layout-end-to-end.md
    • Translation: tutorial-translation-end-to-end.md
    • Tafsir: tutorial-tafsir-end-to-end.md
    • Quran Script: tutorial-quran-script-end-to-end.md
    • Font: tutorial-font-end-to-end.md
    • Quran Metadata: tutorial-quran-metadata-end-to-end.md
    • Transliteration: tutorial-transliteration-end-to-end.md
    • Surah Information: tutorial-surah-information-end-to-end.md
    • Ayah Topics: tutorial-ayah-topics-end-to-end.md
    • Morphology: tutorial-morphology-end-to-end.md
    • Mutashabihat: tutorial-mutashabihat-end-to-end.md
    • Similar Ayah: tutorial-similar-ayah-end-to-end.md
    • Ayah Theme: tutorial-ayah-theme-end-to-end.md
  3. Explore Quran Text, Script, and Metadata Resources

    main

    QUL provides specialized resources for the structural and visual aspects of the Quranic text:

    • Quran Script: Documentation and tutorials for handling Quranic scripts.
    • Quran Metadata: Resources for managing Quranic metadata.
    • Surah Information: Data and guides regarding Surah-level details.
    • Mushaf Layouts: Information on Mushaf-specific layouts.
    • Quran Fonts: Resources for Quranic typography and fonts.
  4. Explore Topics, Themes, and Similarities Resources

    main

    QUL provides semantic analysis and relationship data:

    • Ayah Topics: Resources for identifying topics within Ayahs.
    • Ayah Theme: Resources for thematic analysis of Ayahs.
    • Similar Ayah: Data regarding similarities between different Ayahs.
    • Mutashabihat: Resources for handling Mutashabihat (verses with similar wording).
    • Topics and Concepts: A legacy umbrella resource for broader thematic data.
  5. What is Mushaf Layout and when to use it

    main

    Mushaf Layout resources provide page-structured layout data for Quran pages, including page lines and word ranges. Unlike standard content resources (recitation, translation, etc.) that are keyed by ayah/word, Mushaf Layout is a rendering-structure resource that provides page geometry.

    Use Mushaf Layout when building:

    • Page-by-page mushaf readers
    • Navigation by page number (instead of only surah/ayah)
    • Memorization or classroom tools that depend on printed page structure

    By combining layout data with appropriate scripts and fonts, you can recreate a printed mushaf page layout accurately without hardcoding line templates in your application code.

  6. How Ayah Topics resources are structured

    main

    Ayah Topics resources are designed to map thematic concepts to Quranic verses. They consist of two primary logical layers that should be treated separately in your application logic:

    1. Topic Entities: Contains metadata such as name, category, description, and ayahs_count.
    2. Topic-to-Ayah Mappings: A relational layer that connects a topic_id to an ayah_key.

    Mental Model: Always build your topic search/index first using the topic entities, and only resolve the ayah lists (via the mapping layer) once a specific topic has been selected by the user.