إجمالي الصفوف
0
صفوف الوجبة A
0
صفوف الوجبة B
0
الجداول المرفوعة
0
صفوف وجداول الحصص المدرسية
أضف وعدل الصفوف وارفع صور الجداول لكل وجبة وصف
| صورة الجدول | اسم الصف | الوجبة | الشعبة | حالة الجدول | العمليات |
|---|
تخصيص بيانات وتوقيت الوجبتين A و B
معلومات وهوية المدرسة
ربط قاعدة بيانات سوبابيز (Supabase)
قاعدة بيانات سحابية واحدة مشتركة للموقعين (موقع الطلاب + لوحة المدير)
⚡ خطوات الربط:
- افتح حسابك في Supabase.
- انسخ كود SQL من ملف
supabase_schema_final.sqlوشغله في SQL Editor بضغطة زر. - انسخ Project URL و Anon Key وضعهما أدناه.
- اضغط "فحص الاتصال" ثم "مزامنة جميع البيانات إلى 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');