نظام متابعة أجزاء القرآن لمجموعة مكونة من 30 عضواً، مع تحديث فوري عبر Firebase Firestore.
quran-service/
├── index.html ← الواجهة الرئيسية للجميع
├── admin.html ← لوحة تحكم الأدمن
├── style.css ← جميع الأنماط (Light + Dark Mode)
├── app.js ← منطق الصفحة الرئيسية
├── admin.js ← منطق لوحة الأدمن
├── firebase-config.js ← إعدادات Firebase (عدّلها!)
├── firestore.rules ← قواعد أمان Firestore
└── README.md ← هذا الملف
- اذهب إلى firebase.google.com
- أنشئ مشروعاً جديداً
- فعّل Firestore Database (ابدأ في وضع الاختبار)
- اذهب إلى Project Settings → General → Your apps
- أضف تطبيق ويب واحصل على بيانات الإعداد
افتح الملف firebase-config.js وضع قيم مشروعك:
const firebaseConfig = {
apiKey: "AIzaSy...",
authDomain: "my-project.firebaseapp.com",
projectId: "my-project",
storageBucket: "my-project.appspot.com",
messagingSenderId: "123456789",
appId: "1:123:web:abc123"
};
// غيّر هذا الرمز السري!
const ADMIN_PIN = "1234";في Firebase Console → Firestore Database → Rules، انسخ محتوى firestore.rules والصقه هناك.
npm install -g firebase-tools
firebase login
firebase init hosting
firebase deployارفع جميع الملفات على أي استضافة تدعم HTML ثابت (Netlify، Vercel، GitHub Pages...).
- افتح
admin.html - أدخل رمز PIN (الافتراضي:
1234) - في قسم "تهيئة الأعضاء": أدخل الأسماء الثلاثين سطراً سطراً
- اضغط "تهيئة القائمة"
- في قسم "إعدادات الدورة": حدد تاريخ بداية الدورة وتواريخ الأسبوع الأول
- اضغط "حفظ الإعدادات"
- عدّل تواريخ بداية ونهاية الأسبوع في الإعدادات
- اضغط "إعادة ضبط حالات القراءة" لبدء أسبوع جديد
- الأجزاء تتحرك تلقائياً بناءً على عدد الأسابيع منذ بداية الدورة
- كل عضو يفتح
index.html - يبحث عن اسمه
- يضغط "تمت القراءة"
- تتحدث البيانات فوراً لجميع المستخدمين
رقم الجزء الحالي = ((الجزء الأصلي - 1 + عدد الأسابيع) % 30) + 1
مثال:
- العضو رقم 1 → جزء 1 في الأسبوع الأول
- العضو رقم 1 → جزء 2 في الأسبوع الثاني
- العضو رقم 30 → جزء 1 في الأسبوع الثاني (دوري)
- رمز PIN مخزّن في
firebase-config.js(في المتصفح فقط) - لا يُعرض زر الأدمن في الصفحة الرئيسية (رابط الأدمن خفي)
- للأمان الإضافي في بيئة الإنتاج: فعّل Firebase Authentication
- Chrome 80+، Safari 14+، Firefox 80+، Edge 80+
- يعمل على الجوال والتابلت والحاسوب
- لا يحتاج تثبيت أي تطبيق
Firebase Firestore مجاني ضمن الحدود المجانية (Spark Plan):
- 50,000 قراءة يومياً
- 20,000 كتابة يومياً
- أكثر من كافٍ لـ 30 عضو
إذا واجهت أي مشكلة، تحقق من:
- صحة بيانات
firebase-config.js - قواعد Firestore مُطبّقة بشكل صحيح
- Console المتصفح (F12) للأخطاء التفصيلية