دليل زوار المسجد النبوي — النسخة الجديدة («next»)
الدليل بواجهته الجديدة وخريطة WebGL، بالبيانات والمنطق نفسيهما من الإصدار السابق. الإصدار السابق (Leaflet) محفوظ في الفرع legacy-v1-leaflet. والنسخة الجديدة بُنيت في المستودع masjidalnabawi-next ثم نُقلت إلى هنا (2026-10-16).
- صاحب الفكرة والمطوّر والمبرمج: نورالدين الحكمي (Nooraddeen Alhakami).
- ابدأ من:
CLAUDE.md (القواعد وخريطة الوثائق)، وdocs/PROGRESS.md (الحالة الآن).
- قواعد العمل:
CLAUDE.md.
- قائمة الفحص اليدوي على الجوال:
docs/CHECKLIST.md.
التشغيل على جهازك
يحتاج Node.js 22.
| الأمر | ماذا يفعل |
|---|
npm ci | يثبّت المكتبات بالإصدارات المثبّتة في package-lock.json (لا تحذف هذا الملف). |
npm run dev | خادم التطوير: افتح http://localhost:5173/map.html |
npm test | اختبارات الوحدة (نحو دقيقتين). |
npm run test:e2e | اختبارات المتصفح على نسخة البناء. |
npm run build | يبني الموقع في مجلد dist/. |
npm run perf | يقيس سلاسة الخريطة مقابل ميزانيات SPEC §6. |
المفاتيح: لا يحتاج التطبيق أي مفتاح أو سرّ (انظر .env.example). لا خادم ولا حسابات.
النشر
- مكان النشر: Vercel، على
masjidalnabawi.vercel.app. كل دمج في main يُنشر للزوار تلقائياً.
- طلبات الدمج: لكل طلب رابط معاينة من Vercel تراجعه قبل الدمج.
- الإعدادات: في
vercel.json (Vite، npm ci، npm run build، dist). لا متغيرات بيئة مطلوبة.
- الاستضافة في مكان آخر (الهيئة): ملفات ثابتة من
dist/. التفاصيل في docs/SERVER.md §7.
- الرجوع إلى الإصدار السابق: «Instant Rollback» في Vercel إلى آخر نشر قبل الدمج، أو نشر الفرع
legacy-v1-leaflet.
إعدادات الموقع في src/config/site.config.ts:
QR_URL وSITE_URL: العنوان الذي يفتحه الباركود: https://masjidalnabawi.vercel.app/، فالباركودات المطبوعة سابقاً تبقى صحيحة. إن تُركا فارغين فتح الباركود الموقع الذي يعرضه، أياً كان عنوانه.
ORG_NAME: اسم الجهة في تذييل صفحة الهبوط. فارغ الآن، فلا يظهر السطر (قرار المالك).
القدرات والحدود
بصدق، لما يقدر عليه الدليل وما لا يقدر.
ما يقدّمه
- الأماكن: خريطة بـ303 أماكن داخل الحرم وحوله، و13 موقفاً:
- أبواب الحرم الداخلية والخارجية، ودورات المياه، والمصاعد.
- المصليات، والخدمات المهمة، والمواقف.
- البحث: باسم المكان أو رقمه، بأي لغة، والأسماء الإنجليزية مقبولة من أي لغة.
- المسار مشياً: من موقع الزائر إلى أي مكان، عبر ممرات الساحات والشوارع، مع تتبع حي:
- المتبقي بالأمتار والدقائق.
- تنبيه عند الخروج عن المسار، وإعادة رسمه من الموقع الجديد.
- التحويل إلى مسار بديل يسير عليه الزائر.
- إبقاء الشاشة مضاءة أثناء التتبع.
- المسار بالسيارة: على الطرق العامة إلى المواقف، ثم داخل المواقف إلى الدور والموقف، وطريق الخروج.
- الروضة الشريفة: أوقات الرجال والنساء حسب الجدول المعتمد، وعدّ تنازلي.
- القصص والمكتبة:
- قصص معالم المدينة.
- مكتبة الأماكن والصحابة، كل بطاقة بمصادرها.
- اللغات: 26 لغة، منها العربية والأردية والفارسية والبشتو من اليمين لليسار. الترجمات الجديدة في «next» اعتمدها المالك كما هي.
- العرض: وضع ليلي، ووضع الشمس (تباين أعلى للقراءة في الضوء الساطع)، واحترام «تقليل الحركة» في الجهاز.
- التثبيت: يُثبَّت على الشاشة الرئيسية في أندرويد وآيفون. تبقى واجهته متاحة حتى مع ضعف الاتصال بعد الزيارة الأولى.
حدوده
- دقة الموقع:
- المسار يعتمد على GPS الجوال، ودقته بين المباني العالية قد تكون 15–50 م أو أسوأ. تُعرض الدقة حين تضعف.
- تحت الأرض (المواقف) قد يضعف الإشارة أو يتأخر.
- الإنترنت:
- صور الخريطة (الجوية والفاتحة) تأتي من الإنترنت ولا تُحفظ على الجهاز. مع انقطاع الاتصال تبقى الواجهة والأماكن، وقد تغيب صورة الخريطة.
- الطقس يحتاج اتصالاً.
- البيانات:
- أوقات الروضة وحالة المرافق مأخوذة من بيانات الدليل، لا من أنظمة الهيئة مباشرة. قد يتغير الواقع قبل تحديث البيانات.
- إغلاق مرفق للصيانة من أداة المشرف (
?admin=1) يظهر على ذلك الجهاز وحده، حتى إعادة تحميل الصفحة. لا يصل إلى الزوار الآخرين.
- المحتوى: النصوص التاريخية في القصص والمكتبة مع مصادرها. الدليل لا يدّعي مراجعة شرعية.
- الأجهزة: يحتاج متصفحاً يدعم WebGL (أغلب الجوالات منذ 2015). إن لم يتوفر، تظهر رسالة هادئة وزر «إعادة المحاولة» بدل الخريطة.
- السلاسة: قيست في بيئة الاختبار بمعالج مبطأ 4 مرات (
docs/PERF.md). الحكم النهائي على جوال حقيقي حسب docs/CHECKLIST.md.
الخصوصية
- الموقع: لا يُطلب إلا بضغط «رسم المسار» أو «موقعي». لا يُحفظ ولا يُرسل إلى أي جهة.
- ما يُحفظ على الجهاز وحده: اللغة، والوضع الليلي، ووضع الشمس، وطريقة التنقل (مشي/سيارة)، ودور الموقف، وآخر عمليات البحث، وعدّاد الصلاة على النبي ﷺ في القصص، وآخر قراءة للطقس.
- الطلبات الخارجية: صور الخريطة من Esri وOpenStreetMap، والطقس من Open-Meteo. لا تُرسل إليها أي معلومة عن الزائر غير ما يلزم لعرض الخريطة.