من فترة قريبة كنت أستمع للقرآن الكريم من وقرأ الشيخ قوله تعالى:"وَاذْكُرْ أَخَا عَادٍ إِذْ أَنْذَرَ قَوْمَهُ بِالْأَحْقَافِ". استوقفني اسم الأحقاف،وسألت نفسي أين تقع هذه الأرض؟ ما اسمها اليوم؟ كيف كانت طبيعتها؟
قادني ذلك الفضول إلى البحث عن مصدر يجيبني عن تلك التساؤلات، وخطرت لي فكرة توفير تطبيق يوفر معرفة ذلك بسهولة من خلال عرض المواقع الجغرافية المرتبطة بالآيات على الخريطة مباشرة.
من هنا كانت فكرة التطبيق QuranMap التي سأشاركها معكم اليوم حيث بنيت نموذجًا أوليًا لتطبيق قرآني يربط الآيات مع ترجمتها الإنجليزية وموقعها الجغرافي، ويعرض مكان نزول السورة التي تتضمن تلك الآية (مكية أو مدنية). وسأوفر كود التطبيق للاطلاع والفائدة لعله يكون نواة أولية لبناء خريطة تفاعلية شاملة للقرآن الكريم.
نظرة عامة على التطبيق
الفكرة الأساسية من التطبيق هي ربط نصوص القرآن الكريم بالمكان الجغرافي، حيث يختار المستخدم آية معينة من قائمة منسدلة يظهر له على الخريطة علامتان:
الأولى هي الموقع الجغرافي المرتبط بموضوع الآية (مثلًا عند اختيار الآية الكريمة من سورة الروم)
الثانية هي موضع نزول السورة التي تحتوي على هذه الآية (مكة المكرمة أو المدينة المنورة)
وبهذا الربط يتوضح السياق الجغرافي للآية بسهولة كما توضح الصورة التالية:

من الفكرة إلى التنفيذ
في البداية بحثت عن واجهات برمجة تطبيقات توفر المعلومات المطلوبة فلم أجد، ما وجدته هو عدة واجهات توفر نصوص الآيات وترجماتها لكنها تفتقر إلى البيانات الجغرافية أو أماكن النزول من بينها Quranpedia API و Surah API و AlQuran Cloud API، واستقر اختياري في النهاية على AlQuran Cloud لجلب النصوص.
وهو ما دفعني لإنشاء قاعدة بيانات أولية بشكل يدوي ضمنت فيها رقم السورة والآية، ومكان النزول، والإحداثيات، ووصف موجز مرتبط بكل آية، وحفظنها بتنسيق CSV. كما استعنت بالواجهة البرمجية OpenStreetMap API لعرض الخريطة والتفاعل مع المواقع و Fetch API لتحميل بيانات CSV وجلب الآيات والترجمات.
بعد ذلك صمّمتُ نموذجًا أوليًا باستخدام HTML وCSS وJavaScript والواجهات البرمجية فكانت النتيجة واجهة بسيطة تتيح اختيار الآية وعرض موقعها على الخريطة مع النص القرآني والترجمة الإنجليزية ومعلومة عن موضع نزول السورة.
الكود البرمجي للتطبيق
نفذت المشروع كتطبيق ويب وهو يتضمن ثلاثة ملفات رئيسية:
index.html: يحتوي على واجهة المستخدم وخريطة جوجل.
app.js: الملف الذي يربط البيانات بالخريطة ويتعامل مع تفاعلات المستخدم
data.csv: يضم بيانات الآيات والمواقع (مثل الأحقاف، موقع غزو بدر...)
كما يتوفر الكود الكامل للتطبيق على الريبو: GitHub - hadealahmad/QuranMap GitHup لكل من يرغب في الاطلاع عليه أو المساهمة فيه، ويمكن تجربته مباشرة من خلال الرابط: QuranMap - Explore Quranic Geography
كيف يعمل التطبيق؟
تحميل البيانات: عند تشغيل الصفحة، يُحمّل كود جافا سكريبت ملف البيانات data.csv ويحوّله إلى مصفوفة من الكائنات تتضمن اسم الموقع واسم السورة والآية والموقع الجغرافي (خطوط الطول والعرض).
عرض الخريطة: يتم إنشاء خريطة جوجل وتجهيزها لاستقبال العلامات Markers.
إضافة العلامات: يضيف التطبيق علامة Marker لكل موقع عند اختياره من القائمة.
جلب النص القرآني: يتم ذلك من خلال واجهة برمجة تطبيقات AlQuran Cloud API لجلب نص الآية وترجمتها.
التفاعل مع المستخدم: عندما ينقر المستخدم على علامة الموقع، تظهر نافذة منبثقة تحتوي على تفاصيل السورة والآية والترجمة.
مقترحات تطوير مستقبلية
لم يكن الهدف من QuranMap بناء تطبيق متكامل بقدر ما كان إثباتًا للفكرة Proof of Concept واختبار تجربة تفاعلية تربط النص القرآني بالمكان الجغرافي، وتتيح استكشاف بعد مكاني للأحداث القرآنية.
في المراحل القادمة، يمكن توسيع المشروع بطرق مختلف:
توفير قاعدة بيانات موسعة بالآيات والمواقع: يمكن جمع البيانات يدويًا أو جزئيًا بمساعدة مصادر تاريخية، لكنها تحتاج مراجعة دقيقة للإحداثيات لبعض المواقع القديمة أو الغامضة.
عرض خرائط تاريخية: يمكن عرض خرائط العالم القديم وإضافة صور تاريخية لتوضيح مواقع مثل مدين، الأحقاف، وبابل. يكمن التحدي في مزامنة الخرائط القديمة مع الخرائط الحديثة بدقة.
بحث وتصفية ذكي: بالاعتماد على قواعد بيانات قوية مثل PostgreSQL مع PostGIS، يمكن البحث والتصفية حسب الكلمات المفتاحية أو السورة أو الموضوع أو الحقبة الزمنية ...إلخ.
إنشاء واجهة برمجة تطبيقات: واجهة تسمح بالوصول إلى قاعدة البيانات بشكل مباشر، سواء لاسترجاع المواقع الجغرافية للآيات أو أماكن النزول لتسهيل دمجها في تطبيقات جديدة بسهولة.
تمكين تجربة الواقع المعزز (AR/VR): تخيل أن تمكن المستخدم من زيارة مواقع الآيات بشكل افتراضي، وليس مجرد عرضها على الخريطة. لتحقيق ذلك نحتاج لجهد في إنشاء نماذج ثلاثية الأبعاد لكل موقع، مما يتيح الاستفادة من تقنيات الواقع الافتراضي (VR) والواقع المعزز (AR) لكن سنتمكن من رؤية المواقع بكافة تفاصيلها وتحقيق تجربة فريدة في التفاعل معها.
شاركنا النقاش:
برأيك ما تحديات تنفيذ فكرة ربط الآيات القرآنية مع مواقعها الجغرافية، هل سيكون من السهل توسيع قاعدة بيانات المشروع لتشمل كافة المواقع الواردة في القرآن الكريم أم أننا سنصطدم بمشكلة قلة المصادر ذات الصلة
وهل تطوير الفكرة بحيث تدمج الواقع المعزز للتفاعل من الموقع سيعزز فهم القارئ للسياق الجغرافي للنص القرآني وتفاعله معه، ويجذب فئة واسعة من المستخدمين المهتمين بالتعلم التفاعلي، أم أنه قد يثير الجدل نظرًا لقدسية النص القرآني؟