
يسرنا أن نعلن أننا اتخذنا خطوة أخرى نحو تحسين نظام التطبيق. هذه المرة ، لمست التغييرات الواجهة. لقد تركنا AdminLTE تمامًا ، والذي كان لديه الكثير من الشكاوى حول Bootstrap 3 وتشابهه مع المنتجات الأخرى. تم إصلاح عدد من الأخطاء وإضافة ميزات جديدة.
مستمر ، بالفعل سلسلة من المقالات ،
نريد أن نشارك قصتنا في إنشاء نسخة جديدة من نظام تطبيق الويب. في الواقع ، طوال مدة تطوير المنتج ، قمنا أولاً بتغيير واجهة النظام بالكامل.
يمكن تقسيم كل التغييرات إلى عدة تغييرات رئيسية:
السطح البيني
بفضل الانتقال إلى واجهة المستخدم الجديدة ، تمكنا أيضًا من إعادة تشكيل جميع الوحدات الأمامية المستخدمة ، وفي نفس الوقت نقوم بتحديثها إلى أحدث الإصدارات الثابتة. لم يكن هناك الكثير من الوحدات ، وليس القليل منها: حوالي 80. وإليك بعض منها:
قائمة وحدات شبيبةanimate-css، autosize، block-ui، blueimp-gallery، bootbox، bootstrap-datepicker، bootstrap-daterangepicker، bootstrap-duallistbox، bootstrap-iconpicker، bootstrap-markdown، bootstrap-material-datetimer، bootstrap-materialdown bootstrap-multiselect، bootstrap-rating، bootstrap-select، bootstrap-slider، bootstrap-sortable، bootstrap-sweetalert، bootstrap-table، bootstrap-tagsinput، c3، graphist، chartjs، clipboard، cropper، d3، datatables، dragula، dropzone، حواء ، fancybox ، flatpickr ، flot ، تدفق js ، fontawesome-iconpicker ، fullcalendar ، gmaps ، تذمر ، idletimer ، jquery ، jstree ، jszip ، مقبض ، ladda ، mapael ، تخفيض السعر ، البناء ، minicolors ، حظة ، موريس ، nestable ، nouislider رقم ، مثالي ، شريط التمرير ، photoswipe ، plyr ، popper ، pwstrength-bootstrap ، ريشة ، رافائيل ، select2 ، الراعي ، smartwizard ، socket.io ، sortablejs ، سبلاين ، سبين ، سبينكيت ، sweetalert2 ، swiper ، tableexport ، timepicker ، toastr ، typeahead- شبيبة ، التحقق من صحة ، قناع الفانيليا النص ، فيغاس
وأيضًا نسخهم:
"@ claviska / jquery-minicolors": "~ 2.3.2" ،
"animate.css": "~ 3.7.0" ،
"معرض blueimp": "~ 2.33.0" ،
"bootstrap": "~ 4.3.1" ،
"bootstrap-duallistbox": "~ 3.0.6" ،
"bootstrap-markdown": "~ 2.10.0" ،
"bootstrap-multiselect": "~ 0.9.13-1" ،
"تصنيف bootstrap": "0.0.1" ،
"bootstrap-select": "~ 1.13.1" ،
"bootstrap-slider": "~ 10.6.1" ،
"طاولة التمهيد": "~ 1.14.2" ،
"الرسم البياني": "~ 0.11.0" ،
"cropper": "~ 4.0.0-beta" ،
"عبر env": "~ 5.2.0" ،
"datatables.net-bs4": "~ 1.10.16" ،
"dotenv": "^ 7.0.0" ،
"Dragula": "~ 3.7.2" ،
"تعبير": "^ 4.16.4" ،
"ioredis": "^ 4.9.0" ،
"jquery.growl": "~ 1.3.5" ،
"jstree": "~ 3.3.5" ،
"ladda": "~ 2.0.0" ،
"laravel-mix": "~ 4.0.15" ،
"شريط التمرير المثالي": "~ 1.4.0" ،
"photoswipe": "~ 4.1.2" ،
"plyr": "~ 2.0.18" ،
"أداة تحليل عناوين URL": "2.3.1" ،
"ساس": "^ 1.17.3" ،
"sass-loader": "7. *" ،
"select2": "~ 4.0.6-rc.1" ،
"socket.io": "^ 2.2.0" ،
"spinkit": "~ 1.2.5" ،
"sweetalert2": "~ 8.7.0" ،
"swiper": "~ 4.5.0" ،
"توستر": "~ 2.1.4" ،
"vegas": "~ 2.4.0" ،
"vue-template-compiler": "^ 2.6.9" ،
"webpack-cli": "^ 3.3.5"
تجدر الإشارة إلى أن عملية النقل كانت مريحة ، وذلك بفضل استخدام محرك قالب الشفرة لإطار Laravel نفسه. في المجموع ، تم تحديث حوالي 200 قالب واجهة شفرة. عند إعداد مشروع لإصدار الإنتاج ، نقوم بتوليد جميع الموارد باستخدام مزيج الويب في إصداراتها البسيطة من js و css. أيضًا ، في أعقاب الاتجاهات ، تحولنا إلى Bootstrap 4.3 ، مما سيتيح في المستقبل مزيدًا من الفرص لدعم وتطوير الواجهة. وبطبيعة الحال ، يتم تكييف الواجهة بالكامل للأجهزة المحمولة.
تخفيض السعر
قررنا التبديل إلى محرر تخفيض السعر ، لأنه بسيط وتقدمي وسريع. هذا هو الجزء الأكثر أهمية من الواجهة في نظام إنشاء التطبيق ، لأنه في هذا المجال يتم وصف المشكلة ، ويعتمد الحل عليها في معظم الحالات. لذلك ، تم إيلاء الكثير من الاهتمام لهذا الجزء بالذات.

المستخدمين وصفحة المستخدم
المعلومات على إحصاءات طلبات المستخدم ، تم توسيع اتصالاته. تجعل صفحة "المستخدمين" نفسها البحث عن عملاء أو مستخدمي النظام أكثر ملاءمةً بناءً على حقوق الوصول.
مجموعة
اور. تم الانتهاء من وظائف المجموعة. إذا كانت المجموعة عامة - يمكن لأي شخص الانضمام إليها ، راجع رسائل المجموعة وجميع التطبيقات الموجهة إلى المجموعة. يمكنك مغادرة المجموعة في أي وقت. إذا كانت المجموعة خاصة ، فلن يتمكن المستخدم من الدخول / الخروج منها. فقط عن طريق إضافة يدويا على صفحة إدارة المجموعة. تذكر أن هذه المجموعات هي هيكل يمكنك من خلاله إضافة مستخدمين أو عملاء وسيشاهدون جميع التطبيقات الموجهة إلى المجموعة. في قسم "لوحة المعلومات" أيضًا ، سيشاهد جميع أعضاء المجموعة إعلانات مهمة. إذا تم تنشيط وحدة التقويم ، يمكن أيضًا جعل أعضاء المجموعة أحداثًا مشتركة.
مركز المعرفة
تمت إعادة إنشاء الواجهة بالكامل ، بالإضافة إلى هيكل شجرة السحب والإفلات المريح للفئات مع إمكانية تحديد أيقونات الفئات.
تقويم
يتم تحديث التقويم بالكامل ، وتتم إزالة الحقول الإضافية ، ويمكن سحب الأحداث وتوسيعها يوميًا ، ويمكن إرسال كل هذا إلى المجموعات العامة.
تقارير
لقد تخلينا عن الوظيفة السابقة لتقارير المستخدمين والمجموعات. يتوفر الآن تقرير إعلامي عام ، ولكن استنادًا إلى عوامل تصفية قائمة الحقول التي يمكن من خلالها إنشاء التقارير. الآن أصبح حجمه ضخمًا جدًا ، ويبدو أن نتيجة إخراج التقارير:


كما كان من قبل ، ينصب التركيز الرئيسي للتقارير على خطط SLA التي تسمح لنا بتقييم نجاح التطبيق من خلال:
- وقت استجابة التطبيق
- وقت العمل
- الموعد النهائي للتطبيق
إدارة

تمت إضافة التحقق من صحة جميع القيم المدخلة ، من أجل راحة إدارة النظام ، وكذلك تجنب الإعدادات الخاطئة ، مما أدى إلى خلل في النظام ككل.
بالإضافة إلى ذلك ، تم تفريق الواجهة إلى فئات فرعية ، وتم تحسين عناصر الواجهة ، وأصبحت أكثر إفادة وملاءمة.
استيراد المستخدمين من LDAP إعادة بنائه. يتم تضمين OpenLDAP ، م ، LDAP.
الترقية والترخيص
كما كان من قبل ، يعتمد نظام التحديث على git. يسمح خادم يستند إلى GitLab للمستخدمين بإنشاء Issue ، ومراقبة الكود ومراحل التطوير في نفس المكان.
تطبيقات المحمول
في الوقت الحالي ، يتم تطوير إصدار جديد من تطبيق iOS للجوال. بعد ذلك بقليل ، في نهاية سبتمبر ، ننتظر إصدار Android. الوظيفة الرئيسية التي سيتوفر بها التطبيق:
- تخزين دون اتصال من قائمة التطبيق
- القدرة على إنشاء تطبيق
- جوجل سحابة الرسائل
وصف خيارات تشغيل النظام في المؤسسة
هذا نظام تطبيق مرن للغاية ، نظرًا لوجود المفاهيم الأساسية الأساسية: المستخدمون والمجموعات ونموذج الطلب.
لبناء نظام التطبيق الصحيح ، تحتاج إلى معرفة ما هي هذه الأقسام.
المستخدمين هو مفهوم الحساب العام. يمكن أن يكون للمستخدم دور مختلف: العميل ، المستخدم ، أو المسؤول. يمكن أن يكون لكل مستخدم نموذج إنشاء تطبيق خاص به ، أو نموذج إنشاء تطبيق مجموعة.
مستخدم لديه دور عميل - له واجهة مبسطة محدودة تتوفر فيها فقط قائمة من تطبيقاته ، والقدرة على إنشاء تطبيق ، وكذلك مركز المعرفة.
المستخدم الذي يلعب دور المستخدم هو واجهة أساسية قياسية غالبًا ما تكون مناسبة لجميع المشاركين في النظام.
مستخدم لديه دور المسؤول - نفس الحقوق مثل المستخدم ، ولكن أيضا الوصول إلى قسم الإدارة.
المجموعات - هذا هو الهيكل الذي يمكنك من خلاله إضافة مستخدمين أو عملاء وسيشاهدون جميع التطبيقات الموجهة إلى المجموعة. في قسم "لوحة المعلومات" أيضًا ، سيشاهد جميع أعضاء المجموعة إعلانات مهمة. إذا تم تنشيط وحدة التقويم ، فيمكن لأعضاء المجموعة أيضًا مشاركة الأحداث الشائعة. جميع المجموعات لديها الخاصية: نموذج الطلب. هذا يعني أنه يمكن للمجموعة إنشاء نموذج إنشاء تطبيق. يمكن أن يكون لأعضاء المجموعة أدوار مختلفة: المستخدم والمستخدم الفائق.
يمكن لأعضاء المجموعة الذين لديهم دور المستخدمون - رؤية جميع التطبيقات الموجهة إلى المجموعة (ولكن ليس لأعضاء مجموعة محددين)
يمكن لأعضاء المجموعة الذين لديهم دور Super User - مشاهدة جميع التطبيقات الموجهة إلى المجموعة ، وكذلك إلى أعضاء محددين في المجموعة.
بفضل المستخدمين والمجموعات - تم تكوين القدرة على الرؤية والوصول إلى التطبيقات.
الآن ، دعنا نتعمق في مزيد من التفاصيل حول نموذج إنشاء التطبيق. هذا نظام فرعي ، وبفضله يمكن لمجموعة من المستخدمين أو مستخدم معين تكوين حقول معينة أو عرض صفحة إنشاء التطبيق. باستخدام هذه الأداة ، يتم تكوين القدرة على إنشاء تطبيقات للمجموعات أو مجموعة المستخدمين.
النظر في الحالات الشعبية للنظام.
منظمة تقدم خدمات الدعم لعملائها.
في هذه الحالة ،
- يتم إنشاء مجموعة أو مجموعات من المستخدمين التي ستوفر خدمات الدعم. على سبيل المثال ، المجموعات: التشاور ، الدعم. يتم تضمين جميع المستخدمين الذين سيقدمون خدمات هذا الدعم في مجموعات التشاور والدعم مع دور أعضاء مجموعة المستخدمين. يتم تعيين هؤلاء المستخدمين الذين يمكنهم رؤية جميع تطبيقات جميع المستخدمين على مجموعات لها دور: مستخدم سوبر.
- يتم إنشاء نموذج إنشاء طلب للعملاء ويتم تكوين الحقول اللازمة ، على سبيل المثال ، إلى (التشاور ، مجموعات الدعم)
- يتم إنشاء مجموعة العملاء ويتم تضمين جميع العملاء في هذه المجموعة ويتم تعيين نموذج إنشاء تطبيق "العملاء" للمجموعة.
- يشير جميع العملاء في الإعدادات إلى نموذج إنشاء تطبيق من مجموعة "العملاء".
- تتم الإشارة إلى جميع المستخدمين الذين يقدمون الدعم الفني إما بنموذج محدد لإنشاء تطبيق أو مع مجموعة ، حسب الضرورة.
نتيجة لذلك ، يكون لدى جميع العملاء نموذج واحد شائع لإنشاء التطبيقات فقط مع القدرة على إنشاء تطبيقات لبعض المشاركين (مجموعات أو مستخدمين).
يرى جميع المستخدمين تطبيقات العملاء ولديهم القدرة على إنشاء تطبيقات من نموذج الطلب الخاص بهم.
منظمة توفر خدمات الدعم لمؤسسات عملائها.
في هذه الحالة ،
- يتم إنشاء مجموعة أو مجموعات من المستخدمين لتقديم خدمات الدعم. على سبيل المثال ، المجموعات: التشاور ، الدعم. يتم تضمين جميع المستخدمين الذين سيقدمون خدمات هذا الدعم في مجموعات التشاور والدعم مع دور أعضاء مجموعة المستخدمين. يتم تعيين هؤلاء المستخدمين الذين يمكنهم رؤية جميع تطبيقات جميع المستخدمين على مجموعات لها دور: مستخدم سوبر.
- يتم إنشاء نموذج / نماذج لإنشاء تطبيق للعملاء ويتم تكوين الحقول اللازمة ، على سبيل المثال ، إلى (مجموعات التشاور ، الدعم)
- يتم إنشاء مجموعة / مجموعات لكل مؤسسة عملاء ويتم تضمين جميع العملاء في مجموعتهم ويتم تعيين نموذج إنشاء طلب للمجموعة.
- يشير جميع العملاء في الإعدادات إلى نموذج إنشاء تطبيق من مجموعتهم.
تتم الإشارة إلى جميع المستخدمين الذين يقدمون الدعم الفني إما بنموذج محدد لإنشاء تطبيق أو مع مجموعة ، حسب الضرورة. - في بعض الأحيان يصبح من الضروري أنه من بين المنظمات العميلة سيكون هناك شخص مسؤول يمكنه رؤية جميع التطبيقات التي تم إنشاؤها لموظفي العملاء. لهذا الغرض ، يجب تعيين مثل هذا العميل في مجموعة العملاء: "مستخدم سوبر".
ونتيجة لذلك ، فإن جميع الشركات العميلة لديها مجموعتها الخاصة مع نموذج إنشاء التطبيق فقط مع القدرة على إنشاء تطبيق لبعض المشاركين (مجموعات أو مستخدمين).
يرى جميع المستخدمين تطبيقات العملاء ولديهم القدرة على إنشاء تطبيقات من نموذج الطلب الخاص بهم. لا يرى العملاء الشركات تطبيقات عامة ولا يتقاطعون.
يتيح لك هذا النهج أن تكون عضوًا في النظام في وقت واحد كمستخدم / مستخدم متميز في مجموعة واحدة أو أكثر في وقت واحد.
ما الأمر؟
- احصل على تعليقات من مستخدمينا ، لأنه مهم جدًا بالنسبة لنا.
- التفاعل القائم على Nodejs
- حقل المستخدم الأمثل
- نظام CMDB لبعض المخزون
- تطوير تطبيقات الهاتف المحمول (اتصال GCM)
- توصيل المزيد من خدمات الطرف الثالث (بوابات الرسائل القصيرة وبروتوكول Telegram-bot لإنشاء التطبيقات)
- ادارة العلاقات مع الحل