Spaces:
Sleeping
Sleeping
| # 🚀 كيفية تشغيل HaramGuard | |
| ## المتطلبات الأساسية | |
| 1. Python 3.9+ مع virtual environment | |
| 2. Node.js 18+ (للفرونت إند) | |
| --- | |
| ## خطوات التشغيل | |
| ### 1️⃣ تشغيل Backend (FastAPI) | |
| ```bash | |
| # الانتقال لمجلد backend | |
| cd backend | |
| # تفعيل البيئة الافتراضية (إن وجدت) | |
| # إذا كان اسم البيئة HaramG: | |
| source ../HaramG/bin/activate | |
| # أو إنشاء بيئة جديدة: | |
| # python -m venv venv | |
| # source venv/bin/activate # على macOS/Linux | |
| # venv\Scripts\activate # على Windows | |
| # تثبيت المكتبات | |
| pip install -r requirements.txt | |
| # تشغيل الـ API Server | |
| python api.py | |
| ``` | |
| **النتيجة:** سترى رسالة: | |
| ``` | |
| 🚀 [API] HaramGuard REST API ready on http://0.0.0.0:8000 | |
| ``` | |
| ✅ Backend يعمل الآن على `http://127.0.0.1:8000` | |
| --- | |
| ### 2️⃣ تشغيل Frontend (React Dashboard) | |
| **الطريقة الأسهل - استخدم script جاهز:** | |
| ```bash | |
| cd frontend | |
| ./run-frontend.sh install # أول مرة فقط | |
| ./run-frontend.sh dev # لتشغيل الـ dev server | |
| ``` | |
| **أو يدوياً (في terminal جديد):** | |
| ```bash | |
| # 1. تأكد أنك خارج virtual environment | |
| deactivate # إذا كنت داخل (HaramG) | |
| # 2. أضف node إلى PATH | |
| export PATH="/usr/local/bin:$PATH" | |
| # 3. اذهب لمجلد frontend | |
| cd frontend | |
| # 4. ثبت المكتبات (أول مرة فقط) | |
| npm install | |
| # 5. شغل الـ dev server | |
| npm run dev | |
| ``` | |
| **أو استخدم node مباشرة:** | |
| ```bash | |
| cd frontend | |
| /usr/local/bin/node /usr/local/lib/node_modules/npm/bin/npm-cli.js install | |
| /usr/local/bin/node /usr/local/lib/node_modules/npm/bin/npm-cli.js run dev | |
| ``` | |
| **النتيجة:** سترى رسالة مثل: | |
| ``` | |
| VITE v7.x.x ready in xxx ms | |
| ➜ Local: http://localhost:5173/ | |
| ➜ Network: use --host to expose | |
| ``` | |
| ✅ Frontend يعمل الآن على `http://localhost:5173` | |
| --- | |
| ### 3️⃣ فتح الداشبورد | |
| افتح المتصفح واذهب إلى: | |
| ``` | |
| http://localhost:5173 | |
| ``` | |
| سترى الداشبورد يعرض: | |
| - 📹 فيديو مباشر مع detection | |
| - 📊 Risk metrics (LOW/MEDIUM/HIGH) | |
| - 🚨 Alerts والإجراءات المقترحة | |
| - 🪞 ReflectionAgent statistics | |
| - 🚪 حالة البوابات | |
| --- | |
| ## 🔧 استكشاف الأخطاء | |
| ### Backend لا يعمل؟ | |
| 1. **تحقق من API Keys:** | |
| ```bash | |
| # افتح config.py وتأكد من وجود: | |
| # GROQ_API_KEY | |
| # ANTHROPIC_KEY (اختياري) | |
| ``` | |
| 2. **تحقق من الفيديو:** | |
| ```bash | |
| # تأكد من وجود الملف: | |
| ls backend/hajj_real_video.mp4 | |
| ``` | |
| 3. **تحقق من المنافذ:** | |
| ```bash | |
| # تأكد أن port 8000 غير مستخدم: | |
| lsof -i :8000 # على macOS/Linux | |
| ``` | |
| ### Frontend لا يتصل بالـ Backend؟ | |
| 1. **تحقق من أن Backend يعمل:** | |
| ```bash | |
| curl http://127.0.0.1:8000/health | |
| # يجب أن يعيد: {"status":"ok","pipeline_ready":true} | |
| ``` | |
| 2. **تحقق من CORS:** Backend مضبوط للسماح بجميع الأصول (`allow_origins=['*']`) | |
| ### npm لا يعمل (command not found أو env: node: No such file or directory)? | |
| **المشكلة:** `node` غير موجود في PATH حتى بعد الخروج من virtual environment | |
| **الحل الأسهل - استخدم script جاهز:** | |
| ```bash | |
| cd frontend | |
| ./run-frontend.sh install | |
| ./run-frontend.sh dev | |
| ``` | |
| **الحلول اليدوية:** | |
| 1. **إضافة node إلى PATH ثم استخدام npm:** | |
| ```bash | |
| export PATH="/usr/local/bin:$PATH" | |
| cd frontend | |
| npm install | |
| npm run dev | |
| ``` | |
| 2. **استخدام node مباشرة لتشغيل npm:** | |
| ```bash | |
| cd frontend | |
| /usr/local/bin/node /usr/local/lib/node_modules/npm/bin/npm-cli.js install | |
| /usr/local/bin/node /usr/local/lib/node_modules/npm/bin/npm-cli.js run dev | |
| ``` | |
| 3. **إضافة PATH دائمياً في ~/.zshrc:** | |
| ```bash | |
| echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.zshrc | |
| source ~/.zshrc | |
| ``` | |
| --- | |
| ## 📝 ملاحظات | |
| - **Backend** يعالج الفيديو في background thread | |
| - **Frontend** يطلب state كل ثانية من `/api/realtime/state` | |
| - البيانات تُحفظ تلقائياً في `backend/outputs/hajjflow_rt.db` | |
| --- | |
| ## 🧪 تشغيل Evaluation | |
| ```bash | |
| cd backend | |
| python evaluation.py | |
| ``` | |
| سيُنشئ: | |
| - `outputs/plots/` - رسوم بيانية | |
| - `outputs/eval/summary.json` - ملخص النتائج | |