Skip to content
oazabir edited this page Apr 6, 2013 · 12 revisions

Quran Research Tool Overview

Introduction

Quran Research Tool is a web application that has 40+ major translations, Uthmani Arabic script and a word-by-word translation loader from corpus.quran.com. It has a semi-accurate database of all Arabic words, their grammar forms, their occurrences throughout the Quran. Purpose of this tool is to offer Scholars and Students with a reliable tool to study Quran from many dimensions and perform common research activities. It will be extended to become a public discussion site on Quran where readers can discuss issues on any verse, offer insights, contribute other study materials. We also want to prepare a modern fluent peer-reviewed Bangla translation of Quran that embraces skill of experts from various areas - Philosophy, Science, Archeologist, Biologist, Sociologist and so on. Insha Allah.

Quran research tool is hosted at [http://alquranu.com]

Intro to QRT

  • Clicking on each word from the word by word translation shows details about that word:
  • The Arabic Root of the word.
  • Meanings of the Root from Project Root List.
  • Which verses have the exact same arabic word.
  • A detail dump of all the occurrences of the root in all its form including the grammar.
  • Link to classical and modern arabic dictionaries.

Word Details

Future Plans

Mobile/Tablet version of the tool. An offline version that works in iOS, Android and Windows tablets/phones. Eventually with audio recitation integration.

Google like search feature that matches verses as user types some partial word and shows the matched verses in an auto complete dropdown. See the search feature on quran.com. We will replicate that and add more features. We want to build a very powerful search feature so that if someone searches using "Hajj", it will show matches containing "Arafah", "Mecca" etc relavant verses as well.

Phonetic search capability. Create a phonetic index of the Arabic and the English and expose that through the search. If someone searches using qalu, it will match qaloo, yaqooloo etc forms of the same word. It will take the English form and automatically detect the appropriate arabic form and search using that arabic form. Partially done

Relevant verses - each verse will show a list of relevant verses links so that user can quickly see all the verses that are related to the current verse. I have a Topic index of verses which can be imported into the database to generate the relevant verse mapping. Partially done

Complete Root mapping - corpus.quran.com does not have a complete root to arabic word mapping. Tanzil.net has a complete mapping. Use that to prepare the root -> word -> verse mapping. In progress

Word by word translation from database - Now it loads word by word translation from corpus.quran.com. We need to get a local database of word by word translation.

Word by word Bangla translation - parse Arabic -> Bangla dictionary and populate database with the word by word Bangla translation.

Import Bangla meaning of Arabic root - A complete Arabic Root -> Bangla dictionary is available as a word document. We need to parse it and prepare a database.

Root search feature - implement the same Tanzil.net style root search feature.

Dictionary Integration - English dictionary integration. Hovering on any English word for a while will show a floating box explaining the word taken from modern dictionaries. It will also show Bangla meaning of the English word taken from online Bangla dictionaries.

Show in context - show previous 3 and next 3 verses of the current verses in the same screen. Show them side by side in a horizonal slider. The whole view will become slidable cards, each card containing one verse. User will scroll left and right to see previous and next verses respectively. Imagine on a tablet you are swiping horizontally to go backward and forward.

Verse tagging - allow user to tag verse. Tags will be used to further refine the related verses features.

Audio Recitation of verses played directly from web.

Tafsir integration - parse tafsir from various sources and integrate with each verse.

Reference section - user contributed interesting article, websites on each verse. Basically a collection of links to some existing content that is peer reviewed.

Show multiple verses in a sliding view - Now it shows one verse at a time. Implement a horizontal sliding view which can show multiple verses side by side that can be scrolled horizontally. The same way a feature content slider works. It will slide the whole page.

Ontology of Quranic Concepts - use the Ontology mapping in http://corpus.quran.com/ontology.jsp to show all concepts against each verse. Moreover, create an online graph of ontological concepts where clicking on each concept will show the relevant verses. A nice graphical presentation to smoothly transition through the graph and clicking on a node to expand that node and show all related verses hanging off the node would be awesome.

Social Networking integration - share verses on Facebook, Twitter etc social networks. Implement Facebook Open Graph.

Word/PDF Export Feature - Export a Surah into Word/PDF as it is seen on the screen for offline reading.

Design uplift - let's implement a nice, readable, modern design for the site, pleasing for eyes and at the same time maximizes the readability of the content.

Specs

Detail specs will be written when any of the features start.

Database design documentation is available here - Database-Design

How to engage

  • We will use GitHub's Issue tracker to manage tasks among us.
  • Please go to: https://github.com/oazabir/Quran
  • Download the source code.
  • Setup and run.
  • Get familiar with the code. There's little documentation. If you want to document the code as you learn the code, you are most welcome.
  • Go to Issues tab on GitHub and create a New Issue and assign it yourself. Your issue should explain which item you want to work with. Please explain clearly which task you will take over and what part you will develop.
  • If multiple contributors want to work on the same area, please join forces and collaborate among yourself.
  • Please learn Git tool well. It is not like SVN. Please do experiment with your own fork before working on the master branch. Once you are fully conversant with Git, commit to master branch and I will merge your changes with the master branch. Before you commit to master, you need to become a contributor. Let me know.

Thank you and welcome to this Project. Looking forward to working with you all.

Please use the Issue tracker to ask questions and discuss any issue.

Clone this wiki locally