Skip to content

Repository files navigation

🚗 Hoshan Vehicles Management System

نظام إدارة السيارات لمجموعة حوشان - تطبيق ويب متكامل لإدارة أسطول المركبات عبر مناطق متعددة.

✨ المميزات

  • ✅ إدارة متعددة المناطق (Najran, Jeddah, Asser, Jazan, Baha, Riyadh, Dammam)
  • 🔐 نظام مصادقة آمن للمستخدمين والمشرفين
  • 📊 لوحة تحكم شاملة مع إحصائيات فورية
  • 📁 رفع وإدارة ملفات PDF (رخص القيادة - محاضر التسليم)
  • 📥 استيراد وتصدير بيانات Excel
  • 🔍 بحث وتصفية متقدم
  • 🛠️ إصدار طلبات صيانة فردية وجماعية
  • 🚚 نقل جماعي للمركبات بين المناطق
  • 🗑️ حذف جماعي للسجلات
  • 📝 سجل الأنشطة والتعديلات
  • 🔒 حماية الملفات وتحقق من الأحجام

🚀 التثبيت والتشغيل

المتطلبات

  • Python 3.8+
  • pip

خطوات التثبيت

  1. استنساخ المشروع
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
  1. تثبيت المكتبات المطلوبة
pip install -r requirements.txt
  1. إعداد ملف البيئة
# نسخ ملف المثال
copy .env.example .env

# تعديل .env وتغيير SECRET_KEY
  1. تشغيل التطبيق

للتطوير:

python app.py

الموقع سيعمل على: http://localhost:5000

للإنتاج (Production):

gunicorn app:app

👥 حسابات المستخدمين الافتراضية

Super Admin (الوصول الكامل)

  • Username: eltayep
  • Password: SScc123456
  • Region: ALL

Regional Admins

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

توصيات أمنية إضافية:

  1. تشفير كلمات المرور: استخدم bcrypt لتشفير كلمات المرور
  2. HTTPS: استخدم SSL في الإنتاج
  3. Firewall: قم بتقييد الوصول للمنافذ
  4. 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 المنطقة

🛠️ التطوير

إضافة منطقة جديدة

  1. أضف المستخدم في قاموس ADMINS في app.py
  2. أضف المنطقة في قائمة regions_list في functions home() و view_region()
  3. أضف الرابط في Sidebar في templates/home.html

إضافة عمود جديد للجدول

  1. أضف العمود في init_db() function
  2. حدّث جميع queries ذات الصلة
  3. حدّث templates (view_vehicle.html, edit_vehicle.html)

📝 Logging

جميع العمليات المهمة يتم تسجيلها في ملف app.log:

  • تسجيل دخول/خروج المستخدمين
  • إضافة/تعديل/حذف المركبات
  • رفع الملفات
  • استيراد/تصدير البيانات
  • الأخطاء

🐛 المشاكل المعروفة

  • ⚠️ import_excel.py غير متوافق مع البنية الحالية - يُنصح بحذفه
  • ⚠️ كلمات المرور مخزنة كنص صريح - يُنصح بالتشفير

📞 الدعم

للمشاكل والاستفسارات:

📄 License

هذا المشروع خاص بمجموعة حوشان.


نُفذ بواسطة: GitHub Copilot
التاريخ: November 2025
الإصدار: 2.0 (Enhanced Security & Error Handling)

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages