الدليل التشغيلي النهائي: تشغيل المشروع كاملًا
يجمع هذا الدليل كل الأجزاء في مكان واحد. اتبع هذه الخطوات لتشغيل الواجهة الخلفية وتطبيق الدردشة على الجوال معًا من البداية إلى النهاية.
قائمة التحقق من المتطلبات المسبقة
قبل أن تبدأ، تحقق من الإصدارات:
python --version # يجب أن يكون 3.10+
node --version # يجب أن يكون 18+
npm --version # يجب أن يكون 9+
git --version # أي إصدار
ستحتاج أيضًا إلى: - مفتاح OpenAI API (أو مفتاح مزوّد آخر) - محرر كود (ننصح باستخدام VS Code) - تطبيق Expo Go على هاتفك (iOS/Android) أو محاكي
الخطوة 1: إعداد الواجهة الخلفية
اختر طريقة واحدة: بيئة افتراضية أو Docker.
الخيار أ: بيئة افتراضية
# انتقل إلى المشروع
cd aiproject/backend
# أنشئ بيئة افتراضية وفعّلها
python3 -m venv venv
source venv/bin/activate # على Windows: venv\Scripts\activate
# ثبّت التبعيات
pip install -r app/requirements.txt
# اضبط مفتاح API الخاص بك
cp app/.env.example app/.env
# عدّل app/.env وأضف OPENAI_API_KEY
الخيار ب: Docker
# انتقل إلى المشروع
cd aiproject/backend
# ابنِ صورة Docker
docker compose build
# اضبط مفتاح API (يحمّله Docker Compose تلقائيًا)
cp app/.env.example app/.env
# عدّل app/.env وأضف OPENAI_API_KEY
الخطوة 2: تشغيل الواجهة الخلفية
الخيار أ: بيئة افتراضية
cd aiproject/backend
source venv/bin/activate
python app/__init__.py
الخيار ب: Docker
cd aiproject/backend
docker compose up
من المفترض أن ترى:
* Running on http://127.0.0.1:5000
اختبره:
curl http://127.0.0.1:5000/api/status
# → {"status":"ok"}
الخطوة 3: إعداد الجوال
# في طرفية جديدة
cd aiproject/mobile
# ثبّت Expo CLI عالميًا (إن لم يكن مثبتًا بالفعل)
npm install -g expo-cli
# ثبّت تبعيات المشروع
npm install
# شغّل خادم التطوير الخاص بـ Expo
npx expo start
امسح رمز QR بتطبيق Expo Go على هاتفك، أو اضغط a لمحاكي Android أو i لمحاكي iOS.
الخطوة 4: تهيئة الجوال للوصول إلى الواجهة الخلفية
اعرف عنوان IP المحلي لحاسوبك:
# macOS/Linux
ip addr show | grep inet
# Windows (PowerShell)
ipconfig
في mobile/App.tsx، حدّث API_BASE_URL ليشير إلى عنوان IP المحلي لحاسوبك:
const API_BASE_URL = 'http://192.168.1.100:5000'; // استبدله بعنوان IP الخاص بك
ملاحظة: على محاكي Android، استخدم
http://10.0.2.2:5000بدلًا من ذلك. ملاحظة: على محاكي iOS،http://localhost:5000يعمل.
الخطوة 5: اختبار المسار الكامل
- الواجهة الخلفية تعمل على المنفذ 5000
- تطبيق الجوال يعمل عبر Expo
- اكتب رسالة في تطبيق الدردشة واضغط «إرسال»
- يجب أن تظهر الرسالة في الدردشة، ثم يردّ الذكاء الاصطناعي
إذا ظهرت الرسائل وردّ الذكاء الاصطناعي، فكل شيء يعمل!
استكشاف الأخطاء وإصلاحها
| ما تراه | السبب المحتمل | الحل |
|---|---|---|
| الجوال لا يستطيع الوصول إلى الواجهة الخلفية | عنوان IP خاطئ في API_BASE_URL | استخدم عنوان IP المحلي لحاسوبك (وليس localhost) |
ModuleNotFoundError |
تبعية مفقودة | نفّذ pip install -r app/requirements.txt |
| يعيد OpenAI خطأ | مفتاح API مفقود أو غير صالح | تحقق من ملف app/.env |
| المنفذ مستخدم بالفعل | عملية أخرى على المنفذ 5000 | أوقفها: kill $(lsof -t -i:5000) أو استخدم منفذًا آخر |
| خطأ CORS في المتصفح | flask-cors غير مفعّل | الإصلاح موجود في backend/step-06-cors.md |
| رمز QR الخاص بـ Expo لا يعمل | مشكلة في الشبكة | تأكد من أن الهاتف والحاسوب على شبكة WiFi نفسها |
الخطوات التالية
- تبديل مزوّدي الذكاء الاصطناعي: راجع
concepts/05-llm-comparison.md - إضافة قاعدة معرفة RAG: راجع
advanced/rag/step-01-what-is-rag.md - اجعله وكيليًا: راجع
advanced/agentic/step-01.md - تشغيل الاختبارات:
cd backend && python -m pytest tests/ -v - فحص الكود الخاص بك:
ruff check backend/ advanced/ - إعداد CI/CD: راجع
deployment/ci-cd.md - النشر إلى الإنتاج: راجع
deployment/overview.md - جرّب التحديات: كل قسم يحتوي على
challenges.mdمع تمارين