| # التوثيق التقني | |
| ## نظام تحليل العقود والمناقصات بالذكاء الاصطناعي - شركة شبه الجزيرة للمقاولات | |
| <p align="center"> | |
| <img src="../static/images/logo.png" alt="شعار النظام" width="200"/> | |
| <br> | |
| <em>إصدار التوثيق: 1.0.2 - تاريخ التحديث: 2025/03/01</em> | |
| </p> | |
| ## جدول المحتويات | |
| 1. [نظرة عامة](#نظرة-عامة) | |
| 2. [المعمارية التقنية](#المعمارية-التقنية) | |
| 3. [متطلبات النظام](#متطلبات-النظام) | |
| 4. [الإعداد والتثبيت](#الإعداد-والتثبيت) | |
| 5. [بيئة Hybrid Face](#بيئة-hybrid-face) | |
| 6. [هيكل قاعدة البيانات](#هيكل-قاعدة-البيانات) | |
| 7. [وحدات النظام](#وحدات-النظام) | |
| 8. [واجهات برمجة التطبيقات (APIs)](#واجهات-برمجة-التطبيقات-apis) | |
| 9. [الأمان والمصادقة](#الأمان-والمصادقة) | |
| 10. [الأداء وقابلية التوسع](#الأداء-وقابلية-التوسع) | |
| 11. [استراتيجية النسخ الاحتياطي واستعادة البيانات](#استراتيجية-النسخ-الاحتياطي-واستعادة-البيانات) | |
| 12. [إرشادات التطوير](#إرشادات-التطوير) | |
| 13. [اختبار النظام](#اختبار-النظام) | |
| 14. [التكامل مع الأنظمة الخارجية](#التكامل-مع-الأنظمة-الخارجية) | |
| 15. [سجل التغييرات](#سجل-التغييرات) | |
| ## نظرة عامة | |
| ### عن النظام | |
| نظام تحليل العقود والمناقصات بالذكاء الاصطناعي هو منصة متكاملة تعتمد على تقنيات الذكاء الاصطناعي ومعالجة اللغة العربية الطبيعية لمساعدة شركة شبه الجزيرة للمقاولات في تحليل وتسعير المناقصات وإدارة المشاريع. | |
| ### المكونات الرئيسية | |
| 1. **واجهة المستخدم (Frontend)**: تطبيق ويب تفاعلي مبني بواسطة Streamlit | |
| 2. **خدمات الخلفية (Backend)**: مجموعة من الخدمات والوحدات البرمجية بلغة Python | |
| 3. **قاعدة البيانات**: SQLite للتطوير والنشر المحلي، MySQL للنشر المؤسسي | |
| 4. **محركات الذكاء الاصطناعي**: نماذج معالجة اللغة الطبيعية والتعلم الآلي | |
| 5. **خدمات التكامل**: واجهات برمجة للتكامل مع الأنظمة الخارجية | |
| ## المعمارية التقنية | |
| ### المخطط العام للنظام | |
| ```mermaid | |
| graph TD | |
| User[المستخدم] --> UI[واجهة المستخدم Streamlit] | |
| UI --> API[طبقة API] | |
| API --> Core[النواة] | |
| Core --> DB[(قاعدة البيانات)] | |
| Core --> NLP[معالجة اللغة العربية] | |
| Core --> ML[نماذج التعلم الآلي] | |
| Core --> FS[نظام الملفات] | |
| Core --> External[أنظمة خارجية] | |
| subgraph Core Modules | |
| NLP | |
| ML | |
| Doc[تحليل المستندات] | |
| Pricing[التسعير] | |
| Risk[تحليل المخاطر] | |
| Res[إدارة الموارد] | |
| Proj[إدارة المشاريع] | |
| Rep[التقارير] | |
| end | |
| ``` | |
| ### نمط المعمارية | |
| النظام يعتمد على نمط المعمارية طبقية (Layered Architecture) ونمط وحدات الخدمة (Service Modules): | |
| 1. **طبقة العرض**: واجهة المستخدم Streamlit | |
| 2. **طبقة الخدمات**: واجهات برمجة التطبيقات RESTful | |
| 3. **طبقة الأعمال**: وحدات المعالجة المنطقية | |
| 4. **طبقة البيانات**: الوصول إلى قاعدة البيانات وتخزين الملفات | |
| ## متطلبات النظام | |
| ### متطلبات الأجهزة | |
| | المكون | الحد الأدنى | الموصى به | | |
| |--------|-------------|-----------| | |
| | المعالج | Intel Core i5 (8 أنوية) | Intel Core i7 (12 أنوية) أو أعلى | | |
| | الذاكرة | 16GB RAM | 32GB RAM أو أكثر | | |
| | التخزين | 10GB + مساحة للمستندات | SSD بسعة 50GB أو أكثر | | |
| | الشبكة | اتصال إنترنت 10Mbps | اتصال إنترنت 50Mbps أو أسرع | | |
| | الشاشة | دقة 1080p | دقة 1440p أو أعلى | | |
| ### متطلبات البرمجيات | |
| | البرمجيات | الإصدار المطلوب | | |
| |-----------|-----------------| | |
| | نظام التشغيل | Windows 10/11، MacOS 12+، Ubuntu 20.04+ | | |
| | Python | 3.9 أو أحدث | | |
| | بيئة Hybrid Face | 2.5 أو أحدث | | |
| | متصفح | Chrome 90+، Firefox 88+، Edge 90+ | | |
| | MySQL (اختياري) | 8.0 أو أحدث | | |
| ### المكتبات الأساسية | |
| ```python | |
| # المكتبات الأساسية المستخدمة | |
| streamlit==1.10.0 | |
| pandas==1.5.0 | |
| numpy==1.23.0 | |
| scikit-learn==1.1.0 | |
| nltk==3.7.0 | |
| spacy==3.4.0 | |
| transformers==4.20.0 | |
| pyarabic==0.6.15 | |
| sqlalchemy==1.4.40 | |
| plotly==5.9.0 | |
| pymysql==1.0.2 | |
| pdfplumber==0.7.0 | |
| python-docx==0.8.11 | |
| openpyxl==3.0.10 | |
| ezdxf==0.17.2 | |
| ``` | |
| ## الإعداد والتثبيت | |
| ### إعداد بيئة التطوير | |
| ```bash | |
| # إنشاء بيئة Python افتراضية | |
| python -m venv venv | |
| source venv/bin/activate # Linux/MacOS | |
| venv\Scripts\activate # Windows | |
| # تثبيت المكتبات المطلوبة | |
| pip install -r requirements.txt | |
| pip install -r arabic_support_requirements.txt | |
| ``` | |
| ### تثبيت نماذج معالجة اللغة العربية | |
| ```bash | |
| # تثبيت نموذج اللغة العربية لـ SpaCy | |
| python -m spacy download ar_core_news_lg | |
| # تحميل موارد NLTK للغة العربية | |
| python -m nltk.downloader stopwords | |
| python -m nltk.downloader punkt | |
| python -m nltk.downloader wordnet | |
| ``` | |
| ### إعداد قاعدة البيانات | |
| #### SQLite (للتطوير المحلي) | |
| ```bash | |
| # إنشاء قاعدة بيانات SQLite | |
| python setup_db.py --mode=local | |
| ``` | |
| #### MySQL (للنشر المؤسسي) | |
| ```bash | |
| # إعداد قاعدة بيانات MySQL | |
| python setup_db.py --mode=enterprise \ | |
| --db-host=YOUR_DB_HOST \ | |
| --db-user=YOUR_DB_USER \ | |
| --db-pass=YOUR_DB_PASS \ | |
| --db-name=tender_analysis_system |