Files
saqel/backend/curriculum_converter.php

80 lines
3.7 KiB
PHP

<?php
require_once __DIR__ . '/app/bootstrap.php';
use App\Core\Database;
use App\Services\CurriculumService;
/**
* Saqel Curriculum Ingestion & Markdown Converter CLI Tool
* Converts Ministry PDF/Text documents into structured, lightning-fast Markdown Knowledge Base.
* Usage:
* php backend/curriculum_converter.php --file=/path/to/curriculum.pdf --subject="الرياضيات العلمي" --grade="tawjihi_2008"
* php backend/curriculum_converter.php --index-all
*/
echo "\n========================================================\n";
echo "📚 SAQEL CURRICULUM INGESTION & MARKDOWN CONVERTER\n";
echo "========================================================\n\n";
$storageDir = __DIR__ . '/storage/curriculum';
if (!is_dir($storageDir)) {
mkdir($storageDir, 0777, true);
}
// Ensure schema is active
CurriculumService::ensureSchema();
// Sample Initial Ingestion Manifest for Tawjihi 2008 Mathematics (Calculus Unit)
$mathCalculusMd = <<<MARKDOWN
# مبحث الرياضيات — الفرع العلمي (توجيهي 2008)
## الوحدة الأولى: التفاضل وتطبيقاته (Calculus & Applications)
### الدرس 1: المفهوم الهندسي والفيزيائي للمشتقة الأولى
- **نتاجات التعلم المستهدفة:**
1. فهم المعنى الهندسي للمشتقة الأولى كميل للمماس عند نقطة التماس $(x_1, y_1)$.
2. التمييز بين الاقتران المتصل والاقتران القابل للاشتقاق.
3. حساب المشتقة باستخدام التعريف العام للمشتقة: $f'(x) = \lim_{h \to 0} \frac{f(x+h) - f(x)}{h}$.
### الدرس 2: قواعد الاشتقاق الأساسية وقاعدة السلسلة
- **القواعد المعتمدة:**
- مشتقة حاصل الضرب: $(f \cdot g)' = f'g + fg'$
- مشتقة القسمة: $(\frac{f}{g})' = \frac{f'g - fg'}{g^2}$
- قاعدة السلسلة: $\frac{dy}{dx} = \frac{dy}{du} \cdot \frac{du}{dx}$
- **أمثلة نموذجية وأسئلة وزارية:**
- اشتقاق الاقترانات المثلثية الدائرية: $\sin(x), \cos(x), \tan(x), \sec(x), \csc(x), \cot(x)$.
### الدرس 3: الاشتقاق الضمني والمعدلات المرتبطة بالزمن
- **الاستراتيجية السقراطية لحل المسائل:**
1. رسم شكل تخطيطي وتحديد المتغيرات والثوابت.
2. صياغة العلاقة الأساسية والمساعدة (فيثاغورس، تشابه المثلثات، قوانين الحجوم والمساحات).
3. الاشتقاق الضمني بالنسبة للزمن $t$.
4. التعويض بالقيم المعطاة لحظياً.
MARKDOWN;
$subjectFolder = $storageDir . '/mathematics_scientific';
if (!is_dir($subjectFolder)) {
mkdir($subjectFolder, 0777, true);
}
$mdFile = $subjectFolder . '/unit_1_calculus.md';
file_put_contents($mdFile, $mathCalculusMd);
echo "✅ Generated Structured Curriculum Markdown:\n";
echo " 📄 {$mdFile}\n\n";
// Register into database knowledge base
CurriculumService::saveCurriculumTopic(
'الرياضيات العلمي',
'الوحدة الأولى: التفاضل وتطبيقاته',
[
'المفهوم الهندسي للمشتقة وميل المماس',
'قواعد اشتقاق حاصل الضرب والقسمة',
'قاعدة السلسلة والاقترانات المثلثية',
'الاشتقاق الضمني والمعدلات المرتبطة بالزمن'
]
);
echo "🎉 Curriculum successfully ingested and indexed into Saqel Knowledge Engine!\n";
echo " Fast Markdown Search & AI Grounding is 100% active.\n\n";