From 1235abc0cb132c72742018f977b86bef5c1aaec6 Mon Sep 17 00:00:00 2001 From: Hamza-Ayed Date: Fri, 4 Sep 2026 03:09:10 +0300 Subject: [PATCH] Update Saqel Platform: 2026-09-04 03:09:10 --- .../screens/home/unified_home_screen.dart | 86 +++-- apps/teacher_app/lib/main.dart | 347 +++++++++++++++++- backend/app/Views/CurriculumStudio.php | 51 +++ .../arabic_10/semester_1/unit_01/lesson_01.md | 31 ++ .../semester_1/unit_01/lesson_01.md | 17 + .../semester_1/unit_01/lesson_01_lab.json | 15 + .../semester_1/unit_01/lesson_01.md | 23 ++ .../semester_1/unit_01/lesson_01_lab.json | 17 + backend/storage/curriculum/manifest.json | 185 +++++++--- 9 files changed, 689 insertions(+), 83 deletions(-) create mode 100644 backend/storage/curriculum/grade_10/arabic_10/semester_1/unit_01/lesson_01.md create mode 100644 backend/storage/curriculum/grade_10/history_10/semester_1/unit_01/lesson_01.md create mode 100644 backend/storage/curriculum/grade_10/history_10/semester_1/unit_01/lesson_01_lab.json create mode 100644 backend/storage/curriculum/grade_10/islamic_10/semester_1/unit_01/lesson_01.md create mode 100644 backend/storage/curriculum/grade_10/islamic_10/semester_1/unit_01/lesson_01_lab.json diff --git a/apps/student_app/lib/presentation/screens/home/unified_home_screen.dart b/apps/student_app/lib/presentation/screens/home/unified_home_screen.dart index 243fc6c..ffee0df 100644 --- a/apps/student_app/lib/presentation/screens/home/unified_home_screen.dart +++ b/apps/student_app/lib/presentation/screens/home/unified_home_screen.dart @@ -669,37 +669,81 @@ class _UnifiedHomeScreenState extends State { const Divider(color: AppColors.darkCardBorder), const SizedBox(height: 10), _buildGuardianStat('الامتحانات المنجزة بنجاح', '${selectedChild.examsPassed} من ${selectedChild.examsTotal}'), - _buildGuardianStat('الرقم الوطني', selectedChild.nationalId ?? 'مسجل بالهاتف'), + _buildGuardianStat('دفتر الأخطاء الذكي', '8 من أصل 10 فجوات تم شفاؤها وإتقانها 🏆'), + _buildGuardianStat('نسبة الحضور ومشاهدة الحصص', '96% (28 حصة مكتملة)'), + _buildGuardianStat('الفحوصات السقراطية التفاعلية', '18 فحصاً مجتازاً بنجاح ✨'), + _buildGuardianStat('الرقم الوطني المشفر', selectedChild.nationalId ?? 'مسجل بالهاتف'), ], ), ), const SizedBox(height: 16), // Real WhatsApp Reports Integration Banner - LuxuryCard( - backgroundColor: const Color(0xFF075E54).withAlpha(35), - borderColor: AppColors.whatsappGreen.withAlpha(80), - child: const Row( - children: [ - Icon(CupertinoIcons.chat_bubble_fill, color: AppColors.whatsappGreen, size: 24), - SizedBox(width: 12), - Expanded( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - 'تقارير بوابة نبيه للواتساب', - style: TextStyle(fontSize: 13.5, fontWeight: FontWeight.w700, color: Colors.white), - ), - SizedBox(height: 2), - Text( - 'تصلك إشعارات الأداء والغياب آلياً عبر رقم الواتساب المسجل', - style: TextStyle(fontSize: 11, color: AppColors.textSecondaryDark), + InkWell( + onTap: () { + showCupertinoDialog( + context: context, + builder: (ctx) => Directionality( + textDirection: TextDirection.rtl, + child: CupertinoAlertDialog( + title: const Text('ومضة التقرير الشهري لولي الأمر 📲'), + content: Text( + '🇯🇴 تقرير التحصيل الأكاديمي لشهر آب/أيلول 2026\n' + 'الطالب: ${selectedChild.name}\n' + 'المدرسة: ${selectedChild.schoolName ?? "الثقافة العسكرية"}\n\n' + '• مؤشر الجاهزية للتوجيهي: ${selectedChild.readinessScore.toStringAsFixed(1)}%\n' + '• الحصص المكتملة: 28 حصة بنسبة التزام 96%\n' + '• دفتر الأخطاء: تم إتقان 8 فجوات بنجاح\n' + '• نتيجة الامتحان الموحد الأخير: 88%\n\n' + 'تم إرسال هذا التقرير عبر بوابة نبيه للواتساب برقم هاتف ولي الأمر.', + textAlign: TextAlign.start, + ), + actions: [ + CupertinoDialogAction( + onPressed: () => Navigator.of(ctx).pop(), + child: const Text('إغلاق'), ), ], ), ), - ], + ); + }, + borderRadius: BorderRadius.circular(16), + child: LuxuryCard( + backgroundColor: const Color(0xFF075E54).withAlpha(45), + borderColor: AppColors.whatsappGreen.withAlpha(90), + child: const Row( + children: [ + Icon(CupertinoIcons.chat_bubble_2_fill, color: AppColors.whatsappGreen, size: 26), + SizedBox(width: 12), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Text( + 'تقارير بوابة نبيه للواتساب 📲', + style: TextStyle(fontSize: 13.5, fontWeight: FontWeight.w800, color: Colors.white), + ), + SizedBox(width: 6), + Text( + '· نشطة', + style: TextStyle(color: Color(0xFF34D399), fontWeight: FontWeight.w700, fontSize: 11), + ), + ], + ), + SizedBox(height: 3), + Text( + 'انقر لمعاينة ومضة الأداء الأكاديمي الشهرية المرسلة لولي الأمر', + style: TextStyle(fontSize: 11, color: AppColors.textSecondaryDark), + ), + ], + ), + ), + Icon(CupertinoIcons.chevron_back, color: AppColors.whatsappGreen, size: 16), + ], + ), ), ), ], diff --git a/apps/teacher_app/lib/main.dart b/apps/teacher_app/lib/main.dart index 76e6eda..ec8bdbd 100644 --- a/apps/teacher_app/lib/main.dart +++ b/apps/teacher_app/lib/main.dart @@ -141,6 +141,7 @@ class _TeacherMainShellState extends State { TeacherStudioUploadView(), TeacherMonetizationView(), TeacherReputationScorecardView(), + TeacherAssignmentsAndQnAView(), ], ), bottomNavigationBar: Container( @@ -155,8 +156,8 @@ class _TeacherMainShellState extends State { selectedItemColor: const Color(0xFF10B981), unselectedItemColor: const Color(0xFF64748B), selectedLabelStyle: - const TextStyle(fontWeight: FontWeight.w800, fontSize: 12), - unselectedLabelStyle: const TextStyle(fontSize: 11), + const TextStyle(fontWeight: FontWeight.w800, fontSize: 11), + unselectedLabelStyle: const TextStyle(fontSize: 10.5), type: BottomNavigationBarType.fixed, elevation: 0, items: const [ @@ -166,11 +167,15 @@ class _TeacherMainShellState extends State { ), BottomNavigationBarItem( icon: Icon(CupertinoIcons.money_dollar_circle_fill), - label: 'محفظة التسييل (55%)', + label: 'محفظة التسييل', ), BottomNavigationBarItem( icon: Icon(CupertinoIcons.chart_bar_circle_fill), - label: 'بطاقة الأداء والرادار', + label: 'رادار الأداء', + ), + BottomNavigationBarItem( + icon: Icon(CupertinoIcons.chat_bubble_2_fill), + label: 'الواجبات والأسئلة', ), ], ), @@ -1033,3 +1038,337 @@ class _ScoreStat extends StatelessWidget { ); } } + +/// ============================================================================== +/// TAB 4: TEACHER ASSIGNMENTS & STUDENT DOUBT CLEARING (Q&A & VOICE REPLIES) +/// ============================================================================== +class TeacherAssignmentsAndQnAView extends StatefulWidget { + const TeacherAssignmentsAndQnAView({super.key}); + + @override + State createState() => + _TeacherAssignmentsAndQnAViewState(); +} + +class _TeacherAssignmentsAndQnAViewState + extends State { + final List> _homeworks = [ + { + 'title': 'ورقة عمل: قوانين نيوتن وتطبيقات المصاعد', + 'class': 'الأول ثانوي العلمي (شعبة أ)', + 'submitted': '38 من 42 طالباً', + 'due_date': 'غداً الساعة 08:00 مساءً', + 'average_score': '86%', + 'status': 'active', + }, + { + 'title': 'واجب بيتي: مسائل تحليل المتجهات والضرب القياسي', + 'class': 'الأول ثانوي العلمي (شعبة ب)', + 'submitted': '41 من 41 طالباً', + 'due_date': 'مكتمل التسليم والتصحيح الآلي', + 'average_score': '92%', + 'status': 'completed', + }, + ]; + + final List> _studentDoubts = [ + { + 'student_name': 'محمد طارق الحنيطي', + 'class': 'الأول ثانوي العلمي', + 'question': 'أستاذ، لماذا ينعدم الوزن الظاهري في المصعد الساقط سقوطاً حراً؟ هل تفقد الأجسام كتلتها؟', + 'time': 'منذ 25 دقيقة', + 'replied': false, + 'voice_reply': false, + }, + { + 'student_name': 'سيف الدين الرواشدة', + 'class': 'الأول ثانوي العلمي', + 'question': 'هل قوة الاحتكاك السكوني دائماً تساوي القوة المؤثرة حتى نصل للقيمة العظمى؟', + 'time': 'منذ ساعتين', + 'replied': true, + 'voice_reply': true, + }, + ]; + + void _dispatchNewHomework() { + showCupertinoDialog( + context: context, + builder: (ctx) => Directionality( + textDirection: TextDirection.rtl, + child: CupertinoAlertDialog( + title: const Text('إسناد ورقة عمل تفاعلية جديدة 📝'), + content: const Text( + 'سيقوم محرك صَقِل بتوليد ورقة عمل مكونة من 5 مسائل تدريبية متدرجة من بنك الأسئلة الوزاري وإرسالها فوراً لشعبتك مع التصحيح التلقائي.', + ), + actions: [ + CupertinoDialogAction( + onPressed: () => Navigator.of(ctx).pop(), + child: const Text('إلغاء'), + ), + CupertinoDialogAction( + isDefaultAction: true, + onPressed: () { + Navigator.of(ctx).pop(); + setState(() { + _homeworks.insert(0, { + 'title': 'ورقة عمل: الشغل والطاقة الميكانيكية', + 'class': 'الأول ثانوي العلمي (شعبة أ وب)', + 'submitted': '0 من 83 طالباً', + 'due_date': 'الخميس القادم', + 'average_score': 'بانتظار الإجابات', + 'status': 'active', + }); + }); + ScaffoldMessenger.of(context).showSnackBar( + const SnackBar( + content: Text('تم إسناد ورقة العمل وإشعار الطلبة بنجاح 🚀'), + backgroundColor: Color(0xFF10B981), + ), + ); + }, + child: const Text('إسناد للطلبة الآن'), + ), + ], + ), + ), + ); + } + + void _recordVoiceReply(int doubtIndex) { + showModalBottomSheet( + context: context, + backgroundColor: Colors.transparent, + builder: (ctx) => Directionality( + textDirection: TextDirection.rtl, + child: Container( + decoration: const BoxDecoration( + color: Color(0xFF0F172A), + borderRadius: BorderRadius.vertical(top: Radius.circular(24)), + border: Border(top: BorderSide(color: Color(0xFF10B981), width: 2)), + ), + padding: const EdgeInsets.all(24), + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + const Icon(CupertinoIcons.mic_circle_fill, size: 56, color: Color(0xFF10B981)), + const SizedBox(height: 12), + const Text( + 'تسجيل رد صوتي سقراطي للطالب 🎙️', + style: TextStyle(fontSize: 16, fontWeight: FontWeight.w800, color: Colors.white), + ), + const SizedBox(height: 6), + const Text( + 'سيصل التسجيل الصوتي بجودة عالية داخل تطبيق الطالب مع التوجيه المفاهيمي.', + style: TextStyle(fontSize: 12, color: Color(0xFF94A3B8)), + textAlign: TextAlign.center, + ), + const SizedBox(height: 20), + ElevatedButton.icon( + onPressed: () { + Navigator.of(ctx).pop(); + setState(() { + _studentDoubts[doubtIndex]['replied'] = true; + _studentDoubts[doubtIndex]['voice_reply'] = true; + }); + ScaffoldMessenger.of(context).showSnackBar( + const SnackBar( + content: Text('تم إرسال الرد الصوتي للطالب بنجاح 🎧'), + backgroundColor: Color(0xFF10B981), + ), + ); + }, + icon: const Icon(CupertinoIcons.paperplane_fill, size: 16), + label: const Text('إنهاء وإرسال التسجيل الصوتي (00:42)'), + style: ElevatedButton.styleFrom( + backgroundColor: const Color(0xFF10B981), + foregroundColor: Colors.black, + minimumSize: const Size(double.infinity, 44), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(10)), + ), + ), + ], + ), + ), + ), + ); + } + + @override + Widget build(BuildContext context) { + return SingleChildScrollView( + padding: const EdgeInsets.all(16), + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + // Top Action Card + Container( + padding: const EdgeInsets.all(16), + decoration: BoxDecoration( + gradient: const LinearGradient( + colors: [Color(0xFF064E3B), Color(0xFF0F172A)], + begin: Alignment.topLeft, + end: Alignment.bottomRight, + ), + borderRadius: BorderRadius.circular(16), + border: Border.all(color: const Color(0xFF10B981).withOpacity(0.4)), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + const Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'أوراق العمل والواجبات الوزارية 📝', + style: TextStyle(fontSize: 14, fontWeight: FontWeight.w800, color: Colors.white), + ), + SizedBox(height: 3), + Text( + 'تصحيح مؤتمت بنسبة 100% مرتبط ببنك الأسئلة', + style: TextStyle(fontSize: 11.5, color: Color(0xFF94A3B8)), + ), + ], + ), + ElevatedButton.icon( + onPressed: _dispatchNewHomework, + icon: const Icon(CupertinoIcons.plus_circle_fill, size: 16), + label: const Text('إسناد واجب جديد', style: TextStyle(fontSize: 12, fontWeight: FontWeight.w800)), + style: ElevatedButton.styleFrom( + backgroundColor: const Color(0xFF10B981), + foregroundColor: Colors.black, + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(8)), + ), + ), + ], + ), + ), + const SizedBox(height: 16), + + // Homeworks List + ..._homeworks.map((hw) => Container( + margin: const EdgeInsets.only(bottom: 10), + padding: const EdgeInsets.all(14), + decoration: BoxDecoration( + color: const Color(0xFF0F172A), + borderRadius: BorderRadius.circular(14), + border: Border.all(color: const Color(0xFF1E293B)), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text(hw['title'], style: const TextStyle(fontSize: 13, fontWeight: FontWeight.w800, color: Colors.white)), + const SizedBox(height: 4), + Text('${hw['class']} · ${hw['due_date']}', style: const TextStyle(fontSize: 11, color: Color(0xFF94A3B8))), + ], + ), + ), + Column( + crossAxisAlignment: CrossAxisAlignment.end, + children: [ + Container( + padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 3), + decoration: BoxDecoration( + color: const Color(0xFF10B981).withOpacity(0.15), + borderRadius: BorderRadius.circular(6), + ), + child: Text(hw['submitted'], style: const TextStyle(fontSize: 11, fontWeight: FontWeight.w700, color: Color(0xFF34D399))), + ), + const SizedBox(height: 4), + Text('معدل الشعبة: ${hw['average_score']}', style: const TextStyle(fontSize: 10.5, color: Color(0xFF64748B))), + ], + ), + ], + ), + )), + const SizedBox(height: 18), + + // Student Doubts Section + const Row( + children: [ + Icon(CupertinoIcons.bubble_left_bubble_right_fill, color: Color(0xFF38BDF8), size: 18), + SizedBox(width: 8), + Text( + 'استفسارات وأسئلة الطلبة الميدانية (غرفة الشكوك) 💬', + style: TextStyle(fontSize: 14, fontWeight: FontWeight.w800, color: Colors.white), + ), + ], + ), + const SizedBox(height: 10), + + ..._studentDoubts.asMap().entries.map((entry) { + final idx = entry.key; + final d = entry.value; + final replied = d['replied'] as bool; + + return Container( + margin: const EdgeInsets.only(bottom: 12), + padding: const EdgeInsets.all(14), + decoration: BoxDecoration( + color: const Color(0xFF0F172A), + borderRadius: BorderRadius.circular(14), + border: Border.all( + color: replied ? const Color(0xFF10B981).withOpacity(0.3) : const Color(0xFF38BDF8).withOpacity(0.4), + ), + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text('${d['student_name']} · ${d['class']}', style: const TextStyle(fontSize: 12.5, fontWeight: FontWeight.w800, color: Color(0xFF38BDF8))), + Text(d['time'], style: const TextStyle(fontSize: 11, color: Color(0xFF64748B))), + ], + ), + const SizedBox(height: 8), + Text( + d['question'], + style: const TextStyle(fontSize: 13, color: Colors.white, height: 1.4), + ), + const SizedBox(height: 12), + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + if (replied) + const Row( + children: [ + Icon(CupertinoIcons.checkmark_seal_fill, color: Color(0xFF34D399), size: 15), + SizedBox(width: 6), + Text('تم إرسال الرد الصوتي للطالب 🎧', style: TextStyle(fontSize: 11.5, color: Color(0xFF6EE7B7), fontWeight: FontWeight.w700)), + ], + ) + else + const Row( + children: [ + Icon(CupertinoIcons.clock_fill, color: Color(0xFFFBBF24), size: 14), + SizedBox(width: 6), + Text('بانتظار إجابة المعلم', style: TextStyle(fontSize: 11.5, color: Color(0xFFFBBF24))), + ], + ), + if (!replied) + ElevatedButton.icon( + onPressed: () => _recordVoiceReply(idx), + icon: const Icon(CupertinoIcons.mic_fill, size: 14), + label: const Text('تسجيل رد صوتي 🎙️', style: TextStyle(fontSize: 11, fontWeight: FontWeight.w700)), + style: ElevatedButton.styleFrom( + backgroundColor: const Color(0xFF0284C7), + foregroundColor: Colors.white, + padding: const EdgeInsets.symmetric(horizontal: 10, vertical: 6), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(8)), + ), + ), + ], + ), + ], + ), + ); + }), + ], + ), + ); + } +} diff --git a/backend/app/Views/CurriculumStudio.php b/backend/app/Views/CurriculumStudio.php index 89383b7..f483667 100644 --- a/backend/app/Views/CurriculumStudio.php +++ b/backend/app/Views/CurriculumStudio.php @@ -230,6 +230,7 @@ class CurriculumStudio + @@ -617,6 +618,56 @@ class CurriculumStudio } } + async function bakeInteractiveLab() { + if (!currentFilePath) { + alert('⚠️ يرجى اختيار درس من الشجرة أولاً.'); + return; + } + + const btn = window.event ? window.event.currentTarget : null; + let originalText = ''; + if (btn) { + originalText = btn.innerHTML; + btn.innerHTML = '⚡ جاري فحص الكتاب وخبز المختبر...'; + btn.disabled = true; + } + + let subjectType = 'arabic_10'; + if (currentFilePath.includes('physics')) subjectType = 'physics_10'; + else if (currentFilePath.includes('islamic')) subjectType = 'islamic_10'; + else if (currentFilePath.includes('history')) subjectType = 'history_10'; + else if (currentFilePath.includes('math')) subjectType = 'math_10'; + + const topic = currentFilePath.split('/').pop().replace('.md', ''); + + try { + const res = await fetch('/api/curriculum/bake-lab', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ + file: currentFilePath, + subject: subjectType, + topic: topic + }) + }); + + const data = await res.json(); + if (res.ok && data.status === 'success') { + alert(`✅ ${data.message}\n\nتم استخراج أمثلة الكتاب الوزاري بنجاح وتوليد 10 تدريبات إضافية وتثبيتها في الملف المرافق وقاعدة البيانات.`); + } else { + alert('⚠️ ' + (data.message || 'فشل بناء المختبر')); + } + } catch (e) { + console.error(e); + alert('⚠️ حدث خطأ في الاتصال بالخادم أثناء بناء المختبر'); + } finally { + if (btn) { + btn.innerHTML = originalText; + btn.disabled = false; + } + } + } + async function saveActiveMarkdown() { if (!currentFilePath) return; const content = document.getElementById('lesson_markdown_editor').value; diff --git a/backend/storage/curriculum/grade_10/arabic_10/semester_1/unit_01/lesson_01.md b/backend/storage/curriculum/grade_10/arabic_10/semester_1/unit_01/lesson_01.md new file mode 100644 index 0000000..c8043bb --- /dev/null +++ b/backend/storage/curriculum/grade_10/arabic_10/semester_1/unit_01/lesson_01.md @@ -0,0 +1,31 @@ +# الدرس الأول: إنّ وأخواتها وأنواع الخبر + +## النتاجات التعليمية المقررة: +1. أن يتعرف الطالب على إنّ وأخواتها (إنّ، أنّ، كأنّ، لكنّ، ليتَ، لعلّ). +2. أن يميز عمل الحروف الناسخة في الجملة الاسمية. +3. أن يحدد نوع خبر إنّ وأخواتها (مفرد، جملة فعلية، جملة اسمية، شبه جملة). +4. أن يعرب الجمل الواردة في الكتاب الوزاري إعراباً تاماً. + +--- + +## القاعدة النحوية: +تدخل (إنّ وأخواتها) على الجملة الاسمية، فتنصب المبتدأ ويسمى اسمها، وترفع الخبر ويسمى خبرها. + +### معاني الحروف الناسخة: +- **إنّ وأنّ**: للتوكيد وتحقيق الخبر. +- **كأنّ**: للتشبيه والتقريب. +- **لكنّ**: للاستدراك. +- **ليتَ**: للتمني بما لا يُرجى حصوله. +- **لعلّ**: للترجي والإشفاق وتوقع الممكن. + +--- + +## أمثلة الكتاب الوزاري المعتمدة: +1. **إنَّ الحقَّ منتصرٌ**: + - `إنَّ`: حرف توكيد ونصب مبني على الفتح لا محل له من الإعراب. + - `الحقَّ`: اسم إنّ منصوب وعلامة نصبه الفتحة الظاهرة على آخره. + - `منتصرٌ`: خبر إنّ مرفوع وعلامة رفعه الضمة الظاهرة على آخره. +2. **لعلَّ النصرَ قريبٌ**: + - `لعلَّ`: حرف ترجٍّ ونصب. + - `النصرَ`: اسم لعلّ منصوب بالفتحة. + - `قريبٌ`: خبر لعلّ مرفوع بالضمة. diff --git a/backend/storage/curriculum/grade_10/history_10/semester_1/unit_01/lesson_01.md b/backend/storage/curriculum/grade_10/history_10/semester_1/unit_01/lesson_01.md new file mode 100644 index 0000000..650b559 --- /dev/null +++ b/backend/storage/curriculum/grade_10/history_10/semester_1/unit_01/lesson_01.md @@ -0,0 +1,17 @@ +# الدرس الأول: نشأة إمارة شرق الأردن والاستقلال والدستور + +## النتاجات التعليمية المقررة: +1. تتبع قدوم الأمير عبد الله الأول بن الحسين إلى معان وعمان (1920-1921). +2. استعراض إعلان تأسيس إمارة شرق الأردن في 11 نيسان 1921. +3. تحليل بنود القانون الأساسي لعام 1928 وتطور الحياة النيابية. +4. استذكار محطة استقلال المملكة الأردنية الهاشمية في 25 أيار 1946 ودستور 1952. + +--- + +## المحطات التاريخية المفصلية: +- **1921**: تأسيس إمارة شرق الأردن وتشكيل أول حكومة مركزية برئاسة رشيد طليع. +- **1928**: صدور أول قانون أساسي (دستور) وانتخاب أول مجلس تشريعي أردني. +- **1946**: إعلان استقلال المملكة الأردنية الهاشمية ومبايعة الملك عبد الله الأول ملكاً دستورياً. +- **1952**: إصدار دستور جلالة الملك طلال بن عبد الله رحمه الله الذي رسخ مبدأ أن الأمة مصدر السلطات والوزارة مسؤولة أمام البرلمان. +- **1956**: القرار التاريخي لجلالة الملك الحسين بن طلال بتعريب قيادة الجيش العربي. +- **1968**: معركة الكرامة الخالدة وتحطيم أسطورة الجيش الذي لا يقهر. diff --git a/backend/storage/curriculum/grade_10/history_10/semester_1/unit_01/lesson_01_lab.json b/backend/storage/curriculum/grade_10/history_10/semester_1/unit_01/lesson_01_lab.json new file mode 100644 index 0000000..26578d1 --- /dev/null +++ b/backend/storage/curriculum/grade_10/history_10/semester_1/unit_01/lesson_01_lab.json @@ -0,0 +1,15 @@ +{ + "status": "success", + "subject": "تاريخ الأردن", + "topic": "تأسيس الإمارة والاستقلال", + "curriculum_milestones": [ + "1921", + "1928", + "1946", + "1952", + "1956", + "1968", + "1989", + "1999" + ] +} \ No newline at end of file diff --git a/backend/storage/curriculum/grade_10/islamic_10/semester_1/unit_01/lesson_01.md b/backend/storage/curriculum/grade_10/islamic_10/semester_1/unit_01/lesson_01.md new file mode 100644 index 0000000..56495c4 --- /dev/null +++ b/backend/storage/curriculum/grade_10/islamic_10/semester_1/unit_01/lesson_01.md @@ -0,0 +1,23 @@ +# الدرس الأول: أحكام التركات والمواريث الشرعية + +## النتاجات التعليمية المقررة: +1. بيان الحقوق المتعلقة بتركة المتوفى قبل توزيع الميراث. +2. استيعاب شروط الإرث وأسبابه وموانعه في الشريعة الإسلامية. +3. التمييز بين أصحاب الفروض والعصبات. +4. حساب أنصبة الورثة الشرعية وفق المنهاج الوزاري للتوجيهي. + +--- + +## الحقوق المتعلقة بالتركة: +1. تجهيز الميت وتكفينه ودفنه بالمعروف. +2. قضاء ديون المتوفى (ديون العباد وديون الله). +3. تنفيذ الوصية الشرعية بما لا يتجاوز ثلث التركة. +4. تقسيم المتبقي على الورثة المستحقين حسب الأنصبة المقدرة. + +--- + +## حالات ميراث الزوجين والأولاد: +- **الزوج**: يرث النصف (1/2) عند عدم وجود فرع وارث، والربع (1/4) عند وجود الفرع الوارث. +- **الزوجة**: ترث الربع (1/4) عند عدم وجود فرع وارث، والثمن (1/8) عند وجود الفرع الوارث. +- **الأب والأم**: السدس (1/6) عند وجود الفرع الوارث المذكر. +- **الأولاد (عصبة بالغير)**: للذكر مثل حظ الأنثيين. diff --git a/backend/storage/curriculum/grade_10/islamic_10/semester_1/unit_01/lesson_01_lab.json b/backend/storage/curriculum/grade_10/islamic_10/semester_1/unit_01/lesson_01_lab.json new file mode 100644 index 0000000..4114c65 --- /dev/null +++ b/backend/storage/curriculum/grade_10/islamic_10/semester_1/unit_01/lesson_01_lab.json @@ -0,0 +1,17 @@ +{ + "status": "success", + "subject": "التربية الإسلامية", + "topic": "المواريث والتركات", + "textbook_cases": [ + { + "title": "مسألة المنهاج 1 (ص 112)", + "estate": 80000, + "heirs": "زوجة، أم، ابن، وبنت" + }, + { + "title": "مسألة المنهاج 2 (ص 115)", + "estate": 150000, + "heirs": "زوج، أب، و3 أبناء ذكور" + } + ] +} \ No newline at end of file diff --git a/backend/storage/curriculum/manifest.json b/backend/storage/curriculum/manifest.json index 42888e2..5ed761e 100644 --- a/backend/storage/curriculum/manifest.json +++ b/backend/storage/curriculum/manifest.json @@ -17,7 +17,7 @@ "outcomes": [ "مقدمة ومشروع الوحدة: أنظمة المعادلات في حياتنا" ], - "file": "grade_10\/math_10\/semester_1\/unit_01\/intro_and_project.md" + "file": "grade_10/math_10/semester_1/unit_01/intro_and_project.md" }, { "id": "lesson_01", @@ -25,7 +25,7 @@ "outcomes": [ "الدرس 1: حلُّ معادلاتٍ خاصّةٍ (Solving Special Equations)" ], - "file": "grade_10\/math_10\/semester_1\/unit_01\/lesson_01.md" + "file": "grade_10/math_10/semester_1/unit_01/lesson_01.md" }, { "id": "geogebra_lab", @@ -33,7 +33,7 @@ "outcomes": [ "معملُ برمجيةِ جيوجبرا: حلُّ أنظمةِ المعادلاتِ بيانياً" ], - "file": "grade_10\/math_10\/semester_1\/unit_01\/geogebra_lab.md" + "file": "grade_10/math_10/semester_1/unit_01/geogebra_lab.md" }, { "id": "lesson_02", @@ -41,7 +41,7 @@ "outcomes": [ "الدرس 2: حلُّ نظامٍ مُكوَّنٍ من معادلةٍ خطيّةٍ ومعادلةٍ تربيعيّةٍ" ], - "file": "grade_10\/math_10\/semester_1\/unit_01\/lesson_02.md" + "file": "grade_10/math_10/semester_1/unit_01/lesson_02.md" }, { "id": "lesson_03", @@ -49,7 +49,7 @@ "outcomes": [ "الدرس 3: حلُّ نظامٍ مُكوَّنٍ من معادلتيْنِ تربيعيّتيْنِ" ], - "file": "grade_10\/math_10\/semester_1\/unit_01\/lesson_03.md" + "file": "grade_10/math_10/semester_1/unit_01/lesson_03.md" }, { "id": "unit_exam", @@ -57,7 +57,7 @@ "outcomes": [ "اختبارُ نهايةِ الوحدةِ الأولى (صفحة 31)" ], - "file": "grade_10\/math_10\/semester_1\/unit_01\/unit_exam.md" + "file": "grade_10/math_10/semester_1/unit_01/unit_exam.md" } ] }, @@ -70,7 +70,7 @@ "outcomes": [ "مقدمة ومشروع الوحدة: استعمالات علمية لخصائص الدائرة" ], - "file": "grade_10\/math_10\/semester_1\/unit_02\/intro_and_project.md" + "file": "grade_10/math_10/semester_1/unit_02/intro_and_project.md" }, { "id": "lesson_01", @@ -78,7 +78,7 @@ "outcomes": [ "الدرس 1: أوتارُ الدائرةِ، وأقطارُها، ومماساتُها (Chords, Diameters and Tangents of a Circle)" ], - "file": "grade_10\/math_10\/semester_1\/unit_02\/lesson_01.md" + "file": "grade_10/math_10/semester_1/unit_02/lesson_01.md" }, { "id": "lesson_02", @@ -86,7 +86,7 @@ "outcomes": [ "الدرس 2: الأقواسُ والقطاعاتُ الدائريّةُ (Arcs and Sectors)" ], - "file": "grade_10\/math_10\/semester_1\/unit_02\/lesson_02.md" + "file": "grade_10/math_10/semester_1/unit_02/lesson_02.md" }, { "id": "lesson_03", @@ -94,7 +94,7 @@ "outcomes": [ "الدرس 3: الزوايا في الدائرة (Angles in a Circle)" ], - "file": "grade_10\/math_10\/semester_1\/unit_02\/lesson_03.md" + "file": "grade_10/math_10/semester_1/unit_02/lesson_03.md" }, { "id": "lesson_04", @@ -102,7 +102,7 @@ "outcomes": [ "الدرس 4: معادلةُ الدائرةِ (Equation of a Circle)" ], - "file": "grade_10\/math_10\/semester_1\/unit_02\/lesson_04.md" + "file": "grade_10/math_10/semester_1/unit_02/lesson_04.md" }, { "id": "unit_exam", @@ -110,7 +110,7 @@ "outcomes": [ "اختبارُ نهايةِ الوحدةِ الثانية (صفحة 62 - 63)" ], - "file": "grade_10\/math_10\/semester_1\/unit_02\/unit_exam.md" + "file": "grade_10/math_10/semester_1/unit_02/unit_exam.md" } ] }, @@ -123,7 +123,7 @@ "outcomes": [ "مقدمة ومشروع الوحدة: إنشاء نظام إحداثي جديد" ], - "file": "grade_10\/math_10\/semester_1\/unit_03\/intro_and_project.md" + "file": "grade_10/math_10/semester_1/unit_03/intro_and_project.md" }, { "id": "lesson_01", @@ -131,7 +131,7 @@ "outcomes": [ "الدرس 1: النِّسَبُ المثلثيّةُ (Trigonometric Ratios)" ], - "file": "grade_10\/math_10\/semester_1\/unit_03\/lesson_01.md" + "file": "grade_10/math_10/semester_1/unit_03/lesson_01.md" }, { "id": "lesson_02", @@ -139,7 +139,7 @@ "outcomes": [ "الدرس 2: النِّسَبُ المثلثيّةُ للزوايا ضمنَ الدورةِ الواحدةِ" ], - "file": "grade_10\/math_10\/semester_1\/unit_03\/lesson_02.md" + "file": "grade_10/math_10/semester_1/unit_03/lesson_02.md" }, { "id": "lesson_03", @@ -147,7 +147,7 @@ "outcomes": [ "الدرس 3: تمثيلُ الاقتراناتِ المثلثيّةِ (Graphing Trigonometric Functions)" ], - "file": "grade_10\/math_10\/semester_1\/unit_03\/lesson_03.md" + "file": "grade_10/math_10/semester_1/unit_03/lesson_03.md" }, { "id": "lesson_04", @@ -155,7 +155,7 @@ "outcomes": [ "الدرس 4: حلُّ المعادلاتِ المثلثيّةِ (Solving Trigonometric Equations)" ], - "file": "grade_10\/math_10\/semester_1\/unit_03\/lesson_04.md" + "file": "grade_10/math_10/semester_1/unit_03/lesson_04.md" }, { "id": "unit_exam", @@ -163,7 +163,7 @@ "outcomes": [ "اختبارُ نهايةِ الوحدةِ الثالثة (صفحة 96 - 97)" ], - "file": "grade_10\/math_10\/semester_1\/unit_03\/unit_exam.md" + "file": "grade_10/math_10/semester_1/unit_03/unit_exam.md" } ] }, @@ -176,7 +176,7 @@ "outcomes": [ "مقدمة ومشروع الوحدة: صُنْعُ كلينومتر واستعمالُهُ" ], - "file": "grade_10\/math_10\/semester_1\/unit_04\/intro_and_project.md" + "file": "grade_10/math_10/semester_1/unit_04/intro_and_project.md" }, { "id": "lesson_01", @@ -184,7 +184,7 @@ "outcomes": [ "الدرس 1: الاتجاهُ منَ الشمالِ (Bearing)" ], - "file": "grade_10\/math_10\/semester_1\/unit_04\/lesson_01.md" + "file": "grade_10/math_10/semester_1/unit_04/lesson_01.md" }, { "id": "lesson_02", @@ -192,7 +192,7 @@ "outcomes": [ "الدرس 2: قانونُ الجيوبِ (Law of Sines)" ], - "file": "grade_10\/math_10\/semester_1\/unit_04\/lesson_02.md" + "file": "grade_10/math_10/semester_1/unit_04/lesson_02.md" }, { "id": "lesson_03", @@ -200,7 +200,7 @@ "outcomes": [ "الدرس 3: قانونُ جيوبِ التمامِ (Law of Cosines)" ], - "file": "grade_10\/math_10\/semester_1\/unit_04\/lesson_03.md" + "file": "grade_10/math_10/semester_1/unit_04/lesson_03.md" }, { "id": "lesson_04", @@ -208,7 +208,7 @@ "outcomes": [ "الدرس 4: استعمالُ جيبِ الزاويةِ لإيجادِ مساحةِ المثلثِ" ], - "file": "grade_10\/math_10\/semester_1\/unit_04\/lesson_04.md" + "file": "grade_10/math_10/semester_1/unit_04/lesson_04.md" }, { "id": "lesson_05", @@ -216,7 +216,7 @@ "outcomes": [ "الدرس 5: حلُّ مسائلَ ثلاثيّةِ الأبعادِ (Solving Problems in Three Dimensions)" ], - "file": "grade_10\/math_10\/semester_1\/unit_04\/lesson_05.md" + "file": "grade_10/math_10/semester_1/unit_04/lesson_05.md" }, { "id": "unit_exam", @@ -224,7 +224,7 @@ "outcomes": [ "اختبارُ نهايةِ الوحدةِ الرابعة (الصفحات 130 - 132)" ], - "file": "grade_10\/math_10\/semester_1\/unit_04\/unit_exam.md" + "file": "grade_10/math_10/semester_1/unit_04/unit_exam.md" } ] } @@ -243,7 +243,7 @@ "items": [ { "title": "ورقة عمل: الأسس والمعادلات", - "file": "grade_10\/math_10\/semester_1\/resources\/worksheet_1.md" + "file": "grade_10/math_10/semester_1/resources/worksheet_1.md" } ] }, @@ -289,7 +289,7 @@ "Present Continuous for temporary situations and changing trends", "State verbs vs action verbs clinic" ], - "file": "grade_10\/english_10\/semester_1\/unit_01_looking_good\/lesson_1a_vocabulary_grammar.md" + "file": "grade_10/english_10/semester_1/unit_01_looking_good/lesson_1a_vocabulary_grammar.md" }, { "id": "u1_l2_appearance_fabrics", @@ -299,7 +299,7 @@ "Patterns (checked, plain, striped, polka dots, embroidered thobe)", "Describing outfits and traditional vs modern clothing in Jordan" ], - "file": "grade_10\/english_10\/semester_1\/unit_01_looking_good\/lesson_2a_vocabulary_appearance.md" + "file": "grade_10/english_10/semester_1/unit_01_looking_good/lesson_2a_vocabulary_appearance.md" }, { "id": "u1_l3_power_of_appearance", @@ -309,17 +309,17 @@ "The Doctor's White Coat Experiment & cognitive focus", "Phrasal verbs: look up to, look down on, bring out the best in" ], - "file": "grade_10\/english_10\/semester_1\/unit_01_looking_good\/lesson_3a_4a_power_of_appearance.md" + "file": "grade_10/english_10/semester_1/unit_01_looking_good/lesson_3a_4a_power_of_appearance.md" }, { "id": "u1_l4_articles_speaking", "title": "Lesson 5A & 6A: Grammar (Articles) & Participating in Conversations", "outcomes": [ - "Rules for zero article, a\/an, and the", - "Pronunciation of \/ðə\/ vs \/ðiː\/", + "Rules for zero article, a/an, and the", + "Pronunciation of /ðə/ vs /ðiː/", "Speaking strategies: clarifying messages and interrupting politely" ], - "file": "grade_10\/english_10\/semester_1\/unit_01_looking_good\/lesson_5a_6a_articles_speaking.md" + "file": "grade_10/english_10/semester_1/unit_01_looking_good/lesson_5a_6a_articles_speaking.md" }, { "id": "u1_l5_writing_informal_email", @@ -328,7 +328,7 @@ "Structuring an informal email (greetings, chatty style, omissions, sign-offs)", "Using abbreviations and contractions accurately" ], - "file": "grade_10\/english_10\/semester_1\/unit_01_looking_good\/lesson_7a_writing_informal_email.md" + "file": "grade_10/english_10/semester_1/unit_01_looking_good/lesson_7a_writing_informal_email.md" } ] }, @@ -342,7 +342,7 @@ "Present Perfect Simple (results) vs Present Perfect Continuous (duration)", "Astronomy and space exploration terminology" ], - "file": "grade_10\/english_10\/semester_1\/unit_02_the_digital_mind\/lesson_1a_voyager_present_perfect.md" + "file": "grade_10/english_10/semester_1/unit_02_the_digital_mind/lesson_1a_voyager_present_perfect.md" }, { "id": "u2_l2_ai_science_fact", @@ -352,7 +352,7 @@ "AI safety, ethics, and future societal impacts", "Word formation: verbs to nouns (achieve -> achievement, develop -> development)" ], - "file": "grade_10\/english_10\/semester_1\/unit_02_the_digital_mind\/lesson_2a_ai_science_fact.md" + "file": "grade_10/english_10/semester_1/unit_02_the_digital_mind/lesson_2a_ai_science_fact.md" }, { "id": "u2_l3_verb_patterns_mind", @@ -362,7 +362,7 @@ "Verb patterns (-ing vs to-infinitive vs bare infinitive)", "Verbs with meaning changes (remember to do vs remember doing)" ], - "file": "grade_10\/english_10\/semester_1\/unit_02_the_digital_mind\/lesson_3a_4a_verb_patterns_mind.md" + "file": "grade_10/english_10/semester_1/unit_02_the_digital_mind/lesson_3a_4a_verb_patterns_mind.md" }, { "id": "u2_l4_drones_blog_writing", @@ -371,7 +371,7 @@ "Drones in search and rescue, commercial deliveries, and aerial filming", "Writing a balanced tech blog post with balanced arguments" ], - "file": "grade_10\/english_10\/semester_1\/unit_02_the_digital_mind\/lesson_5a_7a_drones_blog_writing.md" + "file": "grade_10/english_10/semester_1/unit_02_the_digital_mind/lesson_5a_7a_drones_blog_writing.md" } ] }, @@ -385,16 +385,16 @@ "Inspiring athlete biography and wheelchair motocross (WCMX)", "Narrative tenses: Past Simple, Past Continuous, and Past Perfect" ], - "file": "grade_10\/english_10\/semester_1\/unit_03_active_and_healthy\/lesson_1a_aaron_wheelz_narrative_tenses.md" + "file": "grade_10/english_10/semester_1/unit_03_active_and_healthy/lesson_1a_aaron_wheelz_narrative_tenses.md" }, { "id": "u3_l2_fitness_used_to", - "title": "Lesson 2A–4A: Fitness, Injuries & 'Used to \/ Would'", + "title": "Lesson 2A–4A: Fitness, Injuries & 'Used to / Would'", "outcomes": [ "Fitness collocations and medical emergencies (911)", "Used to vs would for past habits and states" ], - "file": "grade_10\/english_10\/semester_1\/unit_03_active_and_healthy\/lesson_2a_4a_fitness_used_to.md" + "file": "grade_10/english_10/semester_1/unit_03_active_and_healthy/lesson_2a_4a_fitness_used_to.md" }, { "id": "u3_l3_mediterranean_diet_story", @@ -403,7 +403,7 @@ "Nutrition, superfoods, and school canteen initiatives", "Writing a dramatic short story with action linkers" ], - "file": "grade_10\/english_10\/semester_1\/unit_03_active_and_healthy\/lesson_6a_7a_mediterranean_diet_story.md" + "file": "grade_10/english_10/semester_1/unit_03_active_and_healthy/lesson_6a_7a_mediterranean_diet_story.md" } ] }, @@ -417,7 +417,7 @@ "Modals of necessity (must, have to), prohibition, and advice", "Airport and flight procedures" ], - "file": "grade_10\/english_10\/semester_1\/unit_04_time_to_move\/lesson_1a_air_travel_modals.md" + "file": "grade_10/english_10/semester_1/unit_04_time_to_move/lesson_1a_air_travel_modals.md" }, { "id": "u4_l2_petra_relative_clauses", @@ -426,7 +426,7 @@ "Family holiday rules and Bedouin hospitality in Petra", "Defining vs non-defining relative clauses (who, which, whose, where)" ], - "file": "grade_10\/english_10\/semester_1\/unit_04_time_to_move\/lesson_2a_4a_petra_relative_clauses.md" + "file": "grade_10/english_10/semester_1/unit_04_time_to_move/lesson_2a_4a_petra_relative_clauses.md" }, { "id": "u4_l3_urban_transport_formal_enquiry", @@ -435,7 +435,7 @@ "Urban transport, smog, and sustainability", "Composing a formal enquiry email with indirect questions" ], - "file": "grade_10\/english_10\/semester_1\/unit_04_time_to_move\/lesson_5a_7a_urban_transport_formal_enquiry.md" + "file": "grade_10/english_10/semester_1/unit_04_time_to_move/lesson_5a_7a_urban_transport_formal_enquiry.md" } ] }, @@ -450,7 +450,7 @@ "Career trends in AI and cloud engineering", "Writing an academic personal statement for university admission" ], - "file": "grade_10\/english_10\/semester_1\/unit_05_the_next_step\/lesson_1a_5a_future_work_personal_statement.md" + "file": "grade_10/english_10/semester_1/unit_05_the_next_step/lesson_1a_5a_future_work_personal_statement.md" } ] } @@ -473,7 +473,7 @@ "outcomes": [ "مقدمة الوحدة والتجربة الاستهلالية: ناتج جمع قوتين عملياً" ], - "file": "grade_10\/physics_10\/semester_1\/unit_01\/intro_and_project.md" + "file": "grade_10/physics_10/semester_1/unit_01/intro_and_project.md" }, { "id": "lesson_01", @@ -481,7 +481,7 @@ "outcomes": [ "الدرس 1: الكميات القياسية والكميات المتجهة (Scalar and Vector Quantities)" ], - "file": "grade_10\/physics_10\/semester_1\/unit_01\/lesson_01.md" + "file": "grade_10/physics_10/semester_1/unit_01/lesson_01.md" }, { "id": "lesson_02", @@ -489,7 +489,7 @@ "outcomes": [ "الدرس 2: جمع المتجهات وطرحها (Addition and Subtraction of Vectors)" ], - "file": "grade_10\/physics_10\/semester_1\/unit_01\/lesson_02.md" + "file": "grade_10/physics_10/semester_1/unit_01/lesson_02.md" }, { "id": "enrichment_and_expansion", @@ -497,7 +497,7 @@ "outcomes": [ "الإثراء والتوسع: الوعاء المغناطيسي (Magnetic Bottle)" ], - "file": "grade_10\/physics_10\/semester_1\/unit_01\/enrichment_and_expansion.md" + "file": "grade_10/physics_10/semester_1/unit_01/enrichment_and_expansion.md" }, { "id": "unit_exam", @@ -505,7 +505,7 @@ "outcomes": [ "اختبار ومراجعة الوحدة الأولى: المتجهات" ], - "file": "grade_10\/physics_10\/semester_1\/unit_01\/unit_exam.md" + "file": "grade_10/physics_10/semester_1/unit_01/unit_exam.md" } ] }, @@ -518,7 +518,7 @@ "outcomes": [ "مقدمة الوحدة والتجربة الاستهلالية: وصف الحركة بالمدرج الهوائي" ], - "file": "grade_10\/physics_10\/semester_1\/unit_02\/intro_and_project.md" + "file": "grade_10/physics_10/semester_1/unit_02/intro_and_project.md" }, { "id": "lesson_01", @@ -526,7 +526,7 @@ "outcomes": [ "الدرس 1: الحركة في بُعد واحد (Motion in One Dimension)" ], - "file": "grade_10\/physics_10\/semester_1\/unit_02\/lesson_01.md" + "file": "grade_10/physics_10/semester_1/unit_02/lesson_01.md" }, { "id": "lesson_02", @@ -534,7 +534,7 @@ "outcomes": [ "الدرس 2: الحركة في بُعدين (Motion in Two Dimensions)" ], - "file": "grade_10\/physics_10\/semester_1\/unit_02\/lesson_02.md" + "file": "grade_10/physics_10/semester_1/unit_02/lesson_02.md" }, { "id": "lesson_03", @@ -542,7 +542,7 @@ "outcomes": [ "الدرس 3: قوانين الحركة لنيوتن (Newton's Laws of Motion)" ], - "file": "grade_10\/physics_10\/semester_1\/unit_02\/lesson_03.md" + "file": "grade_10/physics_10/semester_1/unit_02/lesson_03.md" }, { "id": "enrichment_and_expansion", @@ -550,7 +550,7 @@ "outcomes": [ "الإثراء والتوسع: حزام الأمان في السيارة (Seat Belts)" ], - "file": "grade_10\/physics_10\/semester_1\/unit_02\/enrichment_and_expansion.md" + "file": "grade_10/physics_10/semester_1/unit_02/enrichment_and_expansion.md" }, { "id": "unit_exam", @@ -558,7 +558,7 @@ "outcomes": [ "اختبار ومراجعة الوحدة الثانية: الحركة والقوى" ], - "file": "grade_10\/physics_10\/semester_1\/unit_02\/unit_exam.md" + "file": "grade_10/physics_10/semester_1/unit_02/unit_exam.md" } ] } @@ -569,11 +569,11 @@ "items": [ { "title": "كتاب الفيزياء - الطالب (85 صفحة)", - "file": "grade_10\/physics_10\/semester_1\/physics_student_book.pdf" + "file": "grade_10/physics_10/semester_1/physics_student_book.pdf" }, { "title": "كتاب التجارب والأنشطة العلمية (33 صفحة)", - "file": "grade_10\/physics_10\/semester_1\/physics_activities_book.pdf" + "file": "grade_10/physics_10/semester_1/physics_activities_book.pdf" } ] }, @@ -584,6 +584,75 @@ } } } + }, + "arabic_10": { + "name": "اللغة العربية (Arabic 10)", + "semesters": { + "semester_1": { + "name": "الفصل الدراسي الأول", + "units": { + "unit_01": { + "name": "الوحدة الأولى: إنّ وأخواتها وفنون العروض", + "lessons": [ + { + "id": "lesson_01", + "title": "الدرس 1: إنّ وأخواتها وأنواع الخبر وإعرابها", + "outcomes": [ + "التعرف على إن وأخواتها وحالات إعراب الاسم والخبر" + ], + "file": "grade_10/arabic_10/semester_1/unit_01/lesson_01.md" + } + ] + } + } + } + } + }, + "islamic_10": { + "name": "التربية الإسلامية (Islamic Studies 10)", + "semesters": { + "semester_1": { + "name": "الفصل الدراسي الأول", + "units": { + "unit_01": { + "name": "الوحدة الأولى: الفقه وأحكام المواريث والتلاوة", + "lessons": [ + { + "id": "lesson_01", + "title": "الدرس 1: أحكام التركات والمواريث الشرعية وحجب الحرمان", + "outcomes": [ + "استيعاب أنصبة الورثة وأصحاب الفروض والعصبات" + ], + "file": "grade_10/islamic_10/semester_1/unit_01/lesson_01.md" + } + ] + } + } + } + } + }, + "history_10": { + "name": "تاريخ الأردن (Jordan History 10)", + "semesters": { + "semester_1": { + "name": "الفصل الدراسي الأول", + "units": { + "unit_01": { + "name": "الوحدة الأولى: نشأة الدولة الأردنية ومحطات الاستقلال", + "lessons": [ + { + "id": "lesson_01", + "title": "الدرس 1: تأسيس الإمارة والاستقلال والدستور 1921-1952", + "outcomes": [ + "تتبع المحطات الهاشمية وتأسيس الدولة الأردنية والوثائق الدستورية" + ], + "file": "grade_10/history_10/semester_1/unit_01/lesson_01.md" + } + ] + } + } + } + } } } }