Skip to content

Latest commit

 

History

20 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📖 خدمة القرآن الكريم

نظام متابعة أجزاء القرآن لمجموعة مكونة من 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           ← هذا الملف

🚀 خطوات التثبيت

1. إنشاء مشروع Firebase

  1. اذهب إلى firebase.google.com
  2. أنشئ مشروعاً جديداً
  3. فعّل Firestore Database (ابدأ في وضع الاختبار)
  4. اذهب إلى Project SettingsGeneralYour apps
  5. أضف تطبيق ويب واحصل على بيانات الإعداد

2. تعديل firebase-config.js

افتح الملف 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";

3. نشر قواعد Firestore

في Firebase ConsoleFirestore DatabaseRules، انسخ محتوى firestore.rules والصقه هناك.

4. نشر الموقع

خيار أ: Firebase Hosting (مجاني)

npm install -g firebase-tools
firebase login
firebase init hosting
firebase deploy

خيار ب: أي استضافة ثابتة

ارفع جميع الملفات على أي استضافة تدعم HTML ثابت (Netlify، Vercel، GitHub Pages...).


📋 طريقة الاستخدام

أول مرة (الأدمن):

  1. افتح admin.html
  2. أدخل رمز PIN (الافتراضي: 1234)
  3. في قسم "تهيئة الأعضاء": أدخل الأسماء الثلاثين سطراً سطراً
  4. اضغط "تهيئة القائمة"
  5. في قسم "إعدادات الدورة": حدد تاريخ بداية الدورة وتواريخ الأسبوع الأول
  6. اضغط "حفظ الإعدادات"

كل أسبوع (الأدمن):

  1. عدّل تواريخ بداية ونهاية الأسبوع في الإعدادات
  2. اضغط "إعادة ضبط حالات القراءة" لبدء أسبوع جديد
  3. الأجزاء تتحرك تلقائياً بناءً على عدد الأسابيع منذ بداية الدورة

يومياً (الأعضاء):

  • كل عضو يفتح 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 عضو

📞 الدعم

إذا واجهت أي مشكلة، تحقق من:

  1. صحة بيانات firebase-config.js
  2. قواعد Firestore مُطبّقة بشكل صحيح
  3. Console المتصفح (F12) للأخطاء التفصيلية

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages