لوحة تحكم المدير

مدرسة محمد الفاتح للبنين - إدارة جداول الحصص والصفوف

إدارة جداول مدرسة محمد الفاتح للبنين

🟡 فحص حالة الاتصال...

إجمالي الصفوف

0
📚

صفوف الوجبة A

0
☀️

صفوف الوجبة B

0
🌙

الجداول المرفوعة

0
🖼️

صفوف وجداول الحصص المدرسية

أضف وعدل الصفوف وارفع صور الجداول لكل وجبة وصف

صورة الجدول اسم الصف الوجبة الشعبة حالة الجدول العمليات

تخصيص بيانات وتوقيت الوجبتين A و B

☀️ الوجبة A (صباحي)

🌙 الوجبة B (مسائي)

معلومات وهوية المدرسة

ربط قاعدة بيانات سوبابيز (Supabase)

قاعدة بيانات سحابية واحدة مشتركة للموقعين (موقع الطلاب + لوحة المدير)

⚡ خطوات الربط:

  1. افتح حسابك في Supabase.
  2. انسخ كود SQL من ملف supabase_schema_final.sql وشغله في SQL Editor بضغطة زر.
  3. انسخ Project URL و Anon Key وضعهما أدناه.
  4. اضغط "فحص الاتصال" ثم "مزامنة جميع البيانات إلى Supabase"!

كود SQL النهائي للقاعدة

-- تشغيل هذا الكود في Supabase SQL Editor
CREATE TABLE IF NOT EXISTS public.school_settings (
    id TEXT PRIMARY KEY DEFAULT 'general',
    school_name TEXT NOT NULL DEFAULT 'مدرسة محمد الفاتح للبنين',
    school_subtext TEXT DEFAULT 'جدول الدروس الأسبوعي',
    academic_year TEXT DEFAULT 'العام الدراسي 2024-2025',
    admin_pin TEXT DEFAULT '1968'
);

CREATE TABLE IF NOT EXISTS public.shifts (
    id TEXT PRIMARY KEY,
    name TEXT NOT NULL,
    badge_label TEXT NOT NULL,
    time_range TEXT NOT NULL,
    description TEXT DEFAULT '',
    order_num INTEGER DEFAULT 1,
    is_active BOOLEAN DEFAULT true
);

CREATE TABLE IF NOT EXISTS public.classes (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    shift_id TEXT NOT NULL REFERENCES public.shifts(id) ON DELETE CASCADE,
    name TEXT NOT NULL,
    stage TEXT DEFAULT 'الابتدائية',
    section TEXT DEFAULT 'شعبة أ + ب',
    schedule_image_url TEXT,
    notes TEXT DEFAULT '',
    order_num INTEGER DEFAULT 1
);

ALTER TABLE public.school_settings ENABLE ROW LEVEL SECURITY;
ALTER TABLE public.shifts ENABLE ROW LEVEL SECURITY;
ALTER TABLE public.classes ENABLE ROW LEVEL SECURITY;

CREATE POLICY "public_read_settings" ON public.school_settings FOR SELECT USING (true);
CREATE POLICY "public_read_shifts" ON public.shifts FOR SELECT USING (true);
CREATE POLICY "public_read_classes" ON public.classes FOR SELECT USING (true);

CREATE POLICY "admin_write_settings" ON public.school_settings FOR ALL USING (true);
CREATE POLICY "admin_write_shifts" ON public.shifts FOR ALL USING (true);
CREATE POLICY "admin_write_classes" ON public.classes FOR ALL USING (true);

INSERT INTO storage.buckets (id, name, public) VALUES ('schedules', 'schedules', true) ON CONFLICT (id) DO NOTHING;
CREATE POLICY "public_schedules_read" ON storage.objects FOR SELECT USING (bucket_id = 'schedules');
CREATE POLICY "public_schedules_insert" ON storage.objects FOR INSERT WITH CHECK (bucket_id = 'schedules');
CREATE POLICY "public_schedules_update" ON storage.objects FOR UPDATE USING (bucket_id = 'schedules');
CREATE POLICY "public_schedules_delete" ON storage.objects FOR DELETE USING (bucket_id = 'schedules');
تمت العملية بنجاح!