|
# التوثيق التقني
|
|
## نظام تحليل العقود والمناقصات بالذكاء الاصطناعي - شركة شبه الجزيرة للمقاولات
|
|
|
|
<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 |