هذا المشروع عبارة عن تطبيق بسيط يستخدم خوارزمية تعلم آلي لتصنيف الرسائل إلى "Spam" أو "Ham" (غير عشوائية). يعتمد على Django لبناء الواجهة الخلفية، ويتضمن واجهة HTML للمستخدم وواجهة API للتكامل مع تطبيقات أخرى.
المتطلبات
لتشغيل المشروع، يجب توفر المتطلبات التالية:
Python 3.8 أو أحدث
مكتبة Django
مكتبة scikit-learn
مكتبة pandas
مكتبة joblib
جميع المكتبات المطلوبة موجودة في ملف requirements.txt
pip install -r requirements.txt
##تشغيل المشروع
cd backend-django and api/spam_project_ready_v1 python manage.py runserver
يقوم المستخدم بإدخال رسالة بريد إلكتروني في الواجهة.
يتم إرسال الرسالة إلى خادم Django.
يتم تمرير الرسالة إلى نموذج تم تدريبه مسبقاً (محفوظ في ملف joblib).
النموذج يُرجع تصنيف الرسالة (Spam أو Ham).
يتم عرض النتيجة للمستخدم في صفحة منفصلة.
docker build -t spam-detector .
docker run -p 8000:8000 spam-detector
docker-compose up --build
%%{init: {'theme': 'base', 'themeVariables': {
'fontFamily': 'Arial',
'primaryColor': '#FFD700', /* أصفر ذهبي */
'primaryBorderColor': '#FFA500', /* برتقالي */
'primaryTextColor': '#000000', /* أسود */
'secondaryColor': '#87CEEB', /* أزرق فاتح */
'tertiaryColor': '#98FB98' /* أخضر فاتح */
}}}%%
flowchart TD
A["المستخدم يُدخل رسالة نصية"] --> B["الواجهة الأمامية (Frontend) ترسل الطلب إلى واجهة API"]
B --> C["خادم API يستقبل الرسالة عبر Endpoint محدد"]
C --> D["الرسالة تُمرّر إلى نموذج تعلم الآلة (Machine Learning Model)"]
D --> E["النموذج يقوم بتحليل الرسالة وتحديد نوعها: Spam أو Ham"]
E --> F["النتيجة تُعاد إلى خادم API"]
F --> G["الـ API يُرسل النتيجة إلى الواجهة الأمامية (Frontend)"]
G --> H["عرض النتيجة للمستخدم (مثلاً: 'هذه الرسالة بريد عشوائي')"]
spam_clf/
├── backend-django and api/
│ └── spam_project_ready_v1/
│ ├── spam_app/
│ │ ├── views.py
│ │ ├── urls.py
│ │ ├── ...
│ ├── spam_project/
│ │ ├── settings.py
│ │ ├── ...
├── spam.csv
├── train_model.py
├── README.md
├── requirements.txt
├── Dockerfile
├── requirements.txt
├── docker-compose.yml
└── diagram.mmd
لأي استفسار، الرجاء التواصل مع الفريق عبر Trello أو GitHub Issues.