MRPYWEB

تطوير المواقع وتطبيقات الويب والأنظمة المؤسسية
العودة إلى المحافظ
سامانه جامع ای‌آرپی و گردش‌کار سازمانی شانی‌مو (Shanimo ERP)

شانيمو (Shanimo ERP) – نظام متكامل لتخطيط موارد المؤسسة (ERP) وسير العمل المؤسسي

هو مُنشئ نماذج ديناميكي (Dynamic Form Builder) يسمح للمديرين (الأدمن) بتعريف نماذج معقدة بخطوات منفصلة، وحقول متنوعة، ومستويات وصول متدرجة. يتم توجيه سير العمل (العمليات) تلقائياً بين المستخدمين بناءً على أدوارهم، ولكل خطو…

نظرة عامة

حول المشروع

هو مُنشئ نماذج ديناميكي (Dynamic Form Builder) يسمح للمديرين (الأدمن) بتعريف نماذج معقدة بخطوات منفصلة، وحقول متنوعة، ومستويات وصول متدرجة. يتم توجيه سير العمل (العمليات) تلقائياً بين المستخدمين بناءً على أدوارهم، ولكل خطوة مهلة خاصة بها.

يعتمد هذا النظام على معماریة RBAC للتحكم الدقيق في الوصول على مستويات مختلفة (النموذج، الخطوة، الحقل)، ويلبي احتياجات المؤسسات الإيرانية من خلال توفير مخرجات احترافية (PDF، Excel) وعرض التواريخ الشمسية (الجلالية).

الإنجازات التقنية: تنفيذ نظام إشعارات يعتمد على Service Worker، وإدارة التخزين المؤقت (Cache) لتحسين الأداء، وتصميم واجهة مستخدم متجاوبة مع دعم الوضع الداكن، وتطوير سكربتات إدارية لتكامل البيانات.

الأقسام المختلفة للموقع، بما في ذلك CRM، وإدارة المخزون، والمحاسبة، وغيرها، قيد التصميم والتطوير حالياً.

دراسة حالة

دراسة حالة المشروع

التحديات والحلول والإنجازات والنقاط الفنية البارزة والهندسة المعمارية ونطاق المشروع.

⚡

التحديات

1-تطبيق مُنشئ النماذج الديناميكي مع الحفاظ على سلامة البيانات: تحويل النماذج القالبية (Template) إلى نماذج جارية (Instance) دون إنشاء تبعيات مدمرة، وإدارة نسخ الحقول والخيارات والصلاحيات بشكل صحيح أثناء التنفيذ.
2-إدارة سير العمل متعدد الخطوات مع التحكم في المهل: تصميم نظام يكون لكل خطوة مهلتها المستقلة الخاصة بها، وتسجيل التأخيرات، وعرض تقدم المستخدمين بشكل لحظي؛ مع إمكانية الرفض (Reject) والتصحيح على مستويات مختلفة (الحقل، الخطوة، النموذج بالكامل) دون فقدان البيانات.
3-نظام المصادقة والتحكم في الوصول المتدرج (RBAC) على مستويات مختلفة: تطبيق صلاحيات دقيقة على النماذج والخطوات وحتى الحقول، بحيث يرى كل مستخدم ويملأ فقط البيانات المصرح له بها؛ مع إدارة متزامنة لأدوار متعددة لكل مستخدم.
4-تحسين الأداء والإشعارات: تقليل طلبات الخادم باستخدام التخزين المؤقت (LocMemCache) والإدارة الذكية للإشعارات (فقط في حالة وجود مهمة جديدة) دون إرسال إشعارات إضافية، مع دعم Service Worker لإشعارات المتصفح.

💡

الحلول

مُنشئ النماذج الديناميكي: تخزين input_type مباشرةً في InstanceField ونسخ كامل للبيانات الوصفية (Metadata) عند إنشاء نموذج منسوخ لقطع الاعتماد على النموذج الرئيسي (Master Form).
سير العمل والمهل: استخدام JSONField لتخزين مهلة كل خطوة وتاريخ الخطوات؛ واستخدام الدالتين start_step و complete_step لإدارة التوقيت الدقيق وتسجيل التأخيرات.
نظام RBAC المتدرج: تطبيق access_type بخيارات all، specific_role، و specific_user في نموذج الحقل، والتحقق من الصلاحيات عبر الدالة is_accessible_by أثناء التنفيذ.
الإشعارات المحسّنة: تخزين مؤقت لعدد المهام (LocMemCache) ومقارنة notified_task_ids لإرسال الإشعارات فقط عند وجود مهمة جديدة؛ وإدارة isFetching في العميل لمنع الطلبات المتزامنة.
تكامل البيانات القديمة: السكربت fix_instance_field_input_type مع خيار --dry-run لاستعادة input_type في النماذج المنسوخة سابقاً دون خطر التغييرات غير المرغوب فيها.

📚

الإنجازات

تمكين المستخدمين غير التقنيين: إنشاء منصة لتعريف النماذج المعقدة وسير العمل المؤسسي دون الحاجة إلى سطر واحد من التعليمات البرمجية، مما قلل الاعتماد على الفريق التقني إلى أدنى حد.
الشفافية والتحكم الكامل في العمليات: تطبيق نظام ذكي للموافقة/الرفض على ثلاثة مستويات (الحقل، الخطوة، والنموذج بالكامل)، مع تسجيل تاريخ كامل وعرض التقدم لحظياً، مما جعل الإدارة المؤسسية أكثر شفافية.
إدارة الأمان والوصول على أدق مستوى: التنفيذ الناجح لنظام المصادقة القائم على الأدوار (RBAC) الذي يتحكم في وصول المستخدمين حتى مستوى حقل معين، مما يضمن أمان البيانات.
زيادة الإنتاجية من خلال تحسين الأداء: تقليل كبير في طلبات الخادم من خلال التخزين المؤقت الذكي وإرسال الإشعارات الفورية فقط عند وجود مهمة جديدة، مما جعل تجربة المستخدم أكثر سلاسة.
التوافق مع البنية التحتية والثقافة المؤسسية الإيرانية: دعم كامل للتواريخ الشمسية (الجلالية)، والمخرجات الاحترافية (PDF، Excel)، والقدرة على الاتصال بـ MySQL، مما جعله عملياً بالكامل للمؤسسات الإيرانية.
قابلية الترقية إلى التكامل المؤسسي الكامل: تصميم معياري للنظام يتيح إضافة وحدات مالية، والمخزون، والمبيعات، مما أنشأ البنية التحتية لنظام ERP شامل.

🔧

النقاط الفنية البارزة

المعمارية المعيارية والفصل الكامل للطبقات: فصل التطبيقات إلى dynamicform (تعريف النماذج)، form_flow (التنفيذ وسير العمل)، form_review (الموافقة/الرفض)، reports (إعداد التقارير)، و account (إدارة المستخدمين والأدوار)، مما سهّل التطوير والصيانة بشكل كبير.
قطع التبعيات المدمرة من خلال تخزين البيانات الوصفية مباشرةً: تخزين input_type و step_title مباشرةً في InstanceField بدلاً من الإشارة إلى FormInput، مما يضمن بقاء النماذج المنسوخة مستقلة تماماً ومستقرة بعد تغيير أو حذف النموذج الرئيسي.
إدارة سير العمل باستخدام JSONField والمعاملات الذرية: استخدام JSONField لتخزين تاريخ الخطوات (step_history) والمهل الزمنية لكل خطوة (step_deadlines)؛ بالإضافة إلى استخدام transaction.atomic() في العروض (Views) الرئيسية لضمان سلامة البيانات.
نظام المصادقة والوصول الديناميكي على ثلاثة مستويات: تطبيق access_type بخيارات all، specific_role، و specific_user في نموذج الحقل، والدالة is_accessible_by للتحقق من الصلاحيات أثناء التنفيذ؛ بالإضافة إلى دعم أدوار متعددة لكل مستخدم.
تحسين الأداء من خلال التخزين المؤقت الذكي وإدارة الطلبات: استخدام LocMemCache لتخزين مؤقت لعدد المهام لكل مستخدم (timeout=5) وتنفيذ isFetching في جانب العميل لمنع الطلبات المتزامنة وتقليل حمل الخادم.
نظام إشعارات متقدم باستخدام Service Worker: تسجيل sw.js واستخدام Push API لإرسال إشعارات المتصفح حتى عند إغلاق المتصفح؛ بالإضافة إلى إدارة notified_task_ids لمنع الإشعارات المكررة.
سكربتات إدارية لتكامل البيانات: سكربت fix_instance_field_input_type مع خيارات --dry-run و --instance-id لاستعادة البيانات القديمة دون خطر التغييرات غير المرغوب فيها.
دعم التواريخ الشمسية (الجلالية) والمخرجات المتنوعة: استخدام persiantools لتحويل التواريخ إلى جلالية في القوالب والعروض؛ بالإضافة إلى إنشاء مخرجات احترافية (PDF باستخدام reportlab، Excel باستخدام openpyxl و xlsxwriter).
واجهة مستخدم متجاوبة مع الوضع الداكن: تنفيذ أنماط مخصصة لدعم السمة الداكنة ([data-bs-theme="dark"]) في جميع القوالب؛ بالإضافة إلى أزرار لاصقة (Sticky) في أسفل الصفحات لتحسين تجربة المستخدم على الأجهزة المحمولة.

🏗️

الهندسة المعمارية

تم تصميم معماريّة المشروع بناءً على Django بنهج معياري وطبقي. التطبيقات المستقلة بما في ذلك dynamicform (تعريف النماذج القالبية)، form_flow (التنفيذ وسير العمل)، form_review (الموافقة/الرفض)، reports (إعداد التقارير)، و account (إدارة المستخدمين و RBAC) مفصولة بالكامل لتسهيل التطوير والصيانة. يحقق قلب المشروع استقراراً ومرونة عاليين من خلال قطع تبعيات البيانات الوصفية (التخزين المباشر لـ input_type و step_title في النماذج المنسوخة) واستخدام JSONField لإدارة تاريخ الخطوات والمهل الزمنية. بالإضافة إلى ذلك، تم تنفيذ نظام المصادقة والتحكم في الوصول على ثلاثة مستويات (النموذج، الخطوة، والحقل)، وبالاستفادة من التخزين المؤقت (LocMemCache) و Service Worker، يقدم أداءً مثالياً وتجربة مستخدم محسّنة.

📐

نطاق المشروع

يتضمن المشروع 9 تطبيقات منفصلة، وأكثر من 30 نموذجاً، وحوالي 50 عرضاً (View)، وأكثر من 40 قالباً، بإجمالي يزيد عن 10,000 سطر من التعليمات البرمجية (تشمل الواجهة الخلفية، والواجهة الأمامية، والسكربتات الإدارية). هذا النظام، مع دعم 18 نوعاً من الحقول، وإدارة النماذج متعددة الخطوات بمهل زمنية منفصلة، ونظام الموافقة/الرفض على ثلاثة مستويات، والتحكم في الوصول القائم على الأدوار، تم تصميمه للمؤسسات المتوسطة إلى الكبيرة (من 100 إلى 500+ مستخدم متزامن)، ولديه القدرة على الترقية إلى نظام ERP متكامل بوحدات مالية، والمخزون، والمبيعات.

التقنيات

التقنيات

بوتستراب جانغو إطار جانغو لـ REST HTML/CSS جافا سكريبت ماي إس كيو إل بوستجريس بايثون إس كيو لايت
التصنيفات

التصنيفات

لوحة إدارة / لوحة القيادة أتمتة المكاتب نظام إدارة علاقات العملاء نظام تخطيط موارد المؤسسة موقع شركة
مجال الأعمال

مجال الأعمال

أنظمة الإدارة المؤسسية
نطاق النشاط

نطاق النشاط

"تصميم وتنفيذ أنظمة إدارة عمليات الأعمال (BPM) ومنصات تخطيط موارد المؤسسات (ERP) المتكاملة مع..."
الإحصائيات

إحصائيات المشروع

32
👁️ المشاهدات
0
❤️ الإعجابات
0
⬇️ التنزيلات
0
⭐ التقييم
المقاييس

مقاييس مخصصة

مؤشرات الأداء الرئيسية للمشروع

9 عدد التطبيقات
۳۰+ عدد النماذج
۵۰+ عدد العُروض
۴۰+ عدد القوالب
۱۰,۰۰۰+ سطور الشفرة البرمجية (تقديري)
۱۸ أنواع الحقول المدعومة
۳ الوحدات قيد التطوير
۵۰۰+ السعة الاستيعابية الموصى بها للمستخدمين
الفريق

فريق المشروع

الأشخاص الذين تعاونوا في هذا المشروع

حسن کاظمی
حسن کاظمی
مطور Full Stack
روابط مفيدة

روابط مفيدة

المرئيات

صور المشروع

أجزاء من بيئة المشروع وواجهة المستخدم

هل لديك مشروع مماثل في ذهنك؟

إذا كنت بحاجة إلى تعاون لتطوير موقع ويب أو CRM أو ERP أو نظام مخصص، سأكون سعيدًا بمناقشة مشروعك.

ابدأ مشروعًا