نظام إدارة السيارات لمجموعة حوشان - تطبيق ويب متكامل لإدارة أسطول المركبات عبر مناطق متعددة.
- ✅ إدارة متعددة المناطق (Najran, Jeddah, Asser, Jazan, Baha, Riyadh, Dammam)
- 🔐 نظام مصادقة آمن للمستخدمين والمشرفين
- 📊 لوحة تحكم شاملة مع إحصائيات فورية
- 📁 رفع وإدارة ملفات PDF (رخص القيادة - محاضر التسليم)
- 📥 استيراد وتصدير بيانات Excel
- 🔍 بحث وتصفية متقدم
- 🛠️ إصدار طلبات صيانة فردية وجماعية
- 🚚 نقل جماعي للمركبات بين المناطق
- 🗑️ حذف جماعي للسجلات
- 📝 سجل الأنشطة والتعديلات
- 🔒 حماية الملفات وتحقق من الأحجام
- Python 3.8+
- pip
- استنساخ المشروع
git clone https://raw.githubusercontent.com/eltayep2/hoshan-vehicles/main/venv/Lib/site-packages/pandas/_libs/window/hoshan-vehicles-2.3.zip
cd hoshan-vehicles- تثبيت المكتبات المطلوبة
pip install -r requirements.txt- إعداد ملف البيئة
# نسخ ملف المثال
copy .env.example .env
# تعديل .env وتغيير SECRET_KEY- تشغيل التطبيق
للتطوير:
python app.pyالموقع سيعمل على: http://localhost:5000
للإنتاج (Production):
gunicorn app:app- Username:
eltayep - Password:
SScc123456 - Region: ALL
| Username | Password | Region |
|---|---|---|
| E001 | najran123 | Najran |
| E002 | jeddah123 | Jeddah |
| E003 | asser123 | Asser |
| E004 | jazan123 | Jazan |
| E005 | baha123 | Baha |
| E006 | riyadh123 | Riyadh |
| E007 | dmam123 | Dammam |
app.py قبل النشر!
project-vehicles-management/
├── app.py # التطبيق الرئيسي
├── requirements.txt # المكتبات المطلوبة
├── .env.example # مثال لملف البيئة
├── .gitignore # ملفات Git المستبعدة
├── app.log # سجل الأنشطة
├── database/
│ └── vehicles.db # قاعدة البيانات
├── uploads/ # الملفات المرفوعة
│ └── [vehicle_id]/ # مجلدات المركبات
├── templates/ # قوالب HTML
│ ├── home.html
│ ├── login.html
│ ├── view_vehicle.html
│ ├── edit_vehicle.html
│ ├── maintenance_view.html
│ └── old_files.html
└── static/ # الملفات الثابتة
└── hoshan_logo.png
تم تطبيق التحسينات الأمنية التالية:
- ✅ Authentication decorators لحماية الصفحات
- ✅ التحقق من صلاحيات المستخدمين
- ✅ التحقق الشامل من الملفات المرفوعة (النوع والحجم)
- ✅ حد أقصى لحجم الملف: 16MB
- ✅ Error handling شامل
- ✅ Logging للعمليات المهمة
- ✅ Secret key من environment variables
- تشفير كلمات المرور: استخدم bcrypt لتشفير كلمات المرور
- HTTPS: استخدم SSL في الإنتاج
- Firewall: قم بتقييد الوصول للمنافذ
- Backup: قم بعمل نسخ احتياطية دورية
البنية الحالية تحتوي على:
| العمود | الوصف |
|---|---|
| id | معرف فريد للمركبة |
| plate_number | رقم اللوحة |
| vehicle_brand | ماركة المركبة |
| model_year | سنة الصنع |
| vehicle_supplier | المورد |
| vehicle_type | نوع المركبة |
| vehicle_color | اللون |
| vehicle_status | الحالة |
| district | المنطقة |
| iqama_no | رقم الإقامة |
| emp_no | رقم الموظف |
| emp_name | اسم الموظف |
| project | المشروع |
| previous_user | المستخدم السابق |
| tamm_status | حالة تأم |
| remarks | ملاحظات |
| handover_pdf | ملف محضر التسليم |
| driver_id_pdf | ملف رخصة القيادة |
| last_modified | تاريخ آخر تعديل |
| region | المنطقة |
- أضف المستخدم في قاموس
ADMINSفيapp.py - أضف المنطقة في قائمة
regions_listفي functionshome()وview_region() - أضف الرابط في Sidebar في
templates/home.html
- أضف العمود في
init_db()function - حدّث جميع queries ذات الصلة
- حدّث templates (view_vehicle.html, edit_vehicle.html)
جميع العمليات المهمة يتم تسجيلها في ملف app.log:
- تسجيل دخول/خروج المستخدمين
- إضافة/تعديل/حذف المركبات
- رفع الملفات
- استيراد/تصدير البيانات
- الأخطاء
⚠️ import_excel.pyغير متوافق مع البنية الحالية - يُنصح بحذفه⚠️ كلمات المرور مخزنة كنص صريح - يُنصح بالتشفير
للمشاكل والاستفسارات:
- GitHub Issues: hoshan-vehicles/issues
هذا المشروع خاص بمجموعة حوشان.
نُفذ بواسطة: GitHub Copilot
التاريخ: November 2025
الإصدار: 2.0 (Enhanced Security & Error Handling)