# 07 - البرمجة — هيكل الشيفرة المقترح

## الحزم الأساسية
| المجلد | المحتوى |
|---|---|
| apps/web | واجهات الطفل وولي الأمر والمعلم (React + Vite) |
| apps/admin | لوحة الإدارة (نفس التقنية، صلاحيات مستقلة) |
| services/api | الخدمة الخلفية (Node/Express أو FastAPI) |
| services/api/db | سكربتات المخطط والترحيل + بذور البيانات |
| packages/ui | مكونات مشتركة (بطاقات، أزرار كبيرة، أيقونات Lucide) |
| packages/shared | أنواع البيانات وقواعد التقييم المشتركة |

## قواعد إلزامية
1. احتساب الدرجات في الخدمة الخلفية فقط، لا في الواجهة.
2. كل طلب كتابة يمر بفحص صلاحية على مستوى الكائن (child_id مملوك للمستخدم؟).
3. لا تُخزَّن بيانات الطفل في متصفحه؛ يُستخدم تخزين مؤقت للقراءة فقط.
4. ترحيلات قاعدة البيانات مرقّمة وقابلة للتراجع، ولا حذف أعمدة في الإنتاج.
5. المحتوى يُقرأ من قاعدة البيانات عبر واجهات، ولا يُكتب داخل مكونات الواجهة.

## المتغيرات البيئية المطلوبة
DATABASE_URL، SESSION_SECRET، MEDIA_BUCKET، DRIVE_BACKUP_FOLDER_ID، TZ=Asia/Muscat
