تلقى فريقنا مؤخرًا طلبًا لإنشاء نظام نموذجي لإصدار التذاكر ، والذي تم على مدار 40 ساعة من العمل بما في ذلك مناقشة "المعارف التقليدية" والتصميم والتنفيذ وحتى بعض التحسينات. لقد فعلنا ذلك واعتقدنا أن هذا التطبيق البسيط يمكن أن يكون مفيدًا للغاية لجمهور واسع. في النهاية ، استحضرنا قليلاً على IONDV. الإطار ، توصلوا إلى غرض اجتماعي وفي نفس الوقت اختبروا IONDV. الاستوديو.

يجتمع - IONDV. التذاكر هي تطبيق مفتوح المصدر من نوع السجل لإصدار كوبونات الطعام الاجتماعي. يتم تطبيق التطبيق على IONDV. الإطار في بيئة تطوير متكاملة متخصصة - IONDV. الاستوديو. كما هو الحال دائمًا ، تتوفر العروض التوضيحية ومقاطع الفيديو ، ويتم نشر التطبيق نفسه على GitHub تحت رخصة Apache 2.0
المفتوحة. هنا ، نشارك معك عملية إنشاء تطبيق - من فكرة إلى نموذج أولي.
فكرة
والفكرة بسيطة للغاية ، نظرًا لأن لدينا بالفعل إلهام ، فقد تغلبنا قليلاً على التفاصيل. الغرض من النظام هو تتبع إصدار وصرف القسائم للتغذية الاجتماعية لفئة معينة من المواطنين ، وكل هذا من أجل تحسين عمل الخدمات الاجتماعية أو المنظمات غير الحكومية ذات التوجه الاجتماعي. وفقًا لذلك ، يجب أن يتمتع مستخدمو النظام بالميزات التالية:
- تأسيس بطاقة المستلم مع بيانات مثل الاسم وتاريخ الميلاد والجنس وما إلى ذلك ،
- إنشاء بطاقة قسيمة تحتوي على بيانات مثل تاريخ الإصدار وتاريخ الانتهاء والحالة وما إلى ذلك ،
- تنفيذ كوبونات الحالة لعملية تجارية ،
- الوصول القائم على الدور لمختلف المتخصصين (المشغل والصراف والمسؤول والمدير) ،
- وظائف إضافية: خانات الاختيار مع فئات ، ومرفق بمسح ، شكل المطبوعة من القسائم ، تكامل البوابة.
محاكاة الموقف
مواطن يأتي إلى الاجتماعية. حماية لقسائم الطعام الاجتماعي. عامل اجتماعي تقوم الحماية (ولنا - مشغل النظام) بتشغيل بطاقة مستخدم ، وتحديد الفئة / الفئات وإنشاء 4 كوبونات له لمدة شهر وإصدار جميع القسائم الأربعة دفعة واحدة. يجب على المواطن استرداد الكوبونات في غضون شهر واحد في المتجر / المقصف / نقطة البيك آب ، وتأكيد ما هو ضروري للمبلغ الموضح في الكوبون ، والذي يعتمد على عدد الفئات المخصصة. عندما يشتري كوبونات ، يعثر الموظف (مع دور "Cashier") على عدد الكوبون الخاص به في القائمة ، وإذا لم تنتهي صلاحية الكوبون (لم يتم تمييزه باللون الأحمر في القائمة وكان تاريخ انتهاء الصلاحية أطول من الحالي) ، فإنه يعترف بالكوبون ، وبعد ذلك لم يعد صالحًا.
من فئة الأوهام أو وظائف إضافية
يمكنك تقديم طلب للحصول على كوبونات في البريد الإلكتروني. تشكيل إعداد التكامل مع أي بوابة. نقدمها بهذه الطريقة: المواطن يملأ نموذج إيصال الخدمة ويرسل الطلب. يتم عرضه في الموظف الاجتماعي. الحماية في الملاحة "البريد الإلكتروني. التطبيقات "أو في القطعة في لوحة القيادة" توفر البريد الإلكتروني. التطبيقات ". يعالج المشغل التطبيق ويرفض التطبيق الذي يشير إلى السبب أو يقبله. ميزة إضافية ستكون شكل المطبوعة من القسائم. في نموذج تحرير المواطن ، يمكنك تحميل القسائم لطباعة وإعطاء المواطن ، أو إرسال النسخة الإلكترونية عن طريق البريد.
هذه التفاصيل
التطبيق IONDV. تعتمد التذاكر على تقنية الملكية الخاصة بـ IONDV. الإطار. هذا هو إطار عمل node.js مفتوح المصدر لإنشاء تطبيقات ويب عالية المستوى تعتمد على بيانات التعريف ، والتي لا تتطلب مهارات برمجة جدية. جوهر الإطار هو نموذج بيانات مستقل ، واجهات برمجة التطبيقات لـ kernel ، ووحدات الوظائف ، وقوالب العروض التقديمية. يستخدم MongoDb لنظام إدارة قواعد البيانات - فهو يخزن إعدادات التطبيق والبيانات الوصفية والبيانات نفسها. يعمل الإطار في Node.js. كل ذلك يوفر إطار عمل عبر منصة.
مزيج من IONDV. استوديو + IONDV. الإطار + IONDV. التطبيقات (منشئ التطبيق من المستودع) - هو نظام سريع للنماذج الأولية. في ذلك ، يمكنك الحصول على تطبيق ويب للعمل على منطق الأعمال وهيكل البيانات والأمن و REST API الجاهزة - بحيث يمكنك بعد ذلك تحرير المقدمة باستخدام الزاوي المفضل لديك أو الرد. والصابون - للعمل على التكامل.
عملية الخلق
لقد قمنا بالتخلص التدريجي من العملية الكاملة لإنشاء تطبيق IONDV. التذاكر في IONDV. الاستوديو. ابحث عن الإرشادات الكاملة في مستودع Studio ، حيث يمكنك تكرار العملية خطوة بخطوة.
مراحل الخلق:
- إنشاء فصول
- إنشاء الملاحة
- خلق وجهات النظر
- إنشاء عملية تجارية
فصول
لذلك ، بالنسبة للمبتدئين ، كل شيء بسيط - يبدأ إنشاء التطبيق باستخدام الزر "+ إنشاء تطبيقك الأول". في النافذة المنبثقة ، املأ سطرين حول التطبيق المستقبلي - الاسم والوصف. وانتقل إلى إنشاء فصول. الفئات الأساسية للتطبيق هي "التذاكر" ، "الشخص" ، "المستلم" ، "المستندات". نخلق الطبقات وسماتها. بعد ذلك ، ننتقل إلى ضبط دقيق لخصائص محددة.
بالنسبة للفئة "المستلم" ، أنشأنا الميراث الخاص بتكوين السمة لفئة "الشخص" ، أي تحتوي فئة "المستلم" على كل خصائص فئة "الشخص" + الخاصة بها. أيضا لفئة "مستلم" إنشاء علاقة من نوع "مجموعة" لسمة "التذاكر". نحدد فئة "التذاكر" كمرجع. يتم إجراء المجموعة بحيث يتم عرض مجموعة من كائنات "التذاكر" على شكل كائن فئة. نكرر إعدادات الاتصال للفئات الأخرى ، ونتيجة لذلك ، يجب أن نحصل على مخطط تطبيق كهذا.

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

العملية التجارية
بالنسبة للكائنات من فئة "التذاكر" ، يلزم وجود عملية أعمال من 3 حالات: "تم إصدارها من قبل" ، و "معترف بها" ، و "منتهية الصلاحية". في لوحة العمل في قسم "مهام سير العمل" ، حدد الإجراء لإنشاء حالة عملية حالة + الولاية وملء حقول النموذج. بعد ذلك ، نقوم بتهيئة الانتقالات بين حالات عملية الأعمال من خلال النقر على زر "+ الانتقال". نتيجة لذلك ، حصلنا على المخطط التالي:

عن الاستوديو
Studio هو تطبيق IONDV. إطار لإنشاء البيانات الوصفية وتحريرها (مثل الفئات والملاحة وطرق العرض وعمليات الأعمال ونماذج موقع البوابة) التي يمكن نشرها كتطبيق ويب IONDV. الإطار. يمكن استخدامه أيضًا كتطبيق مستقل node.js
أو كتطبيق سطح مكتب. مزايا استخدام تطبيق قائم بذاته هي أنه لا توجد حاجة لقاعدة بيانات و IONDV. الإطار.
كيفية بدء التطبيق ، انظر هنا .
أن ننظر فيها ولمس؟
ضمن Linux ، يمكنك تثبيت التطبيق في سطر واحد ، إذا تم تثبيت git و node.js و mongodb محليًا باستخدام أداة تثبيت التطبيق iondv. سيقوم البرنامج النصي بتثبيت تبعيات البيئة ، واستنساخ جميع المستودعات الضرورية للإطار والوحدات والتطبيقات من GitHub ، وجمع وبدء التطبيق وإطلاقه:
bash <(curl -sL https://raw.githubusercontent.com/iondv/iondv-app/master/iondv-app) -q -i -m localhost:27017 tickets
حيث بدلاً من المضيف المحلي: 27017 ، تحتاج إلى تحديد عنوان MongoDb.
يمكنك أيضًا تشغيل حاوية الإرساء:
# docker network create iondv # mongodb docker run --name mongodb --net iondv -v mongodb_data:/data/db -p 27017:27017 -d mongo # IONDV. Tickets docker run -d -p 8888:8888 --net iondv iondv/tickets
بعد البدء ، افتح الرابط http://localhost:8888
. للمكتب الخلفي ، تسجيل الدخول: تجريبي ، كلمة المرور: ion-demo مع حقوق المسؤول. المستخدم الثاني مع حقوق مشغل محدودة هي كلمة مرور المشغل ion-demo.
اختبار التطبيق التجريبي .
هناك ثلاثة أدوار رئيسية: المشغل ، أمين الصندوق ، المراقب المالي. اسم الدور يتوافق مع تسجيل الدخول ، وكلمة المرور هي واحدة لجميع تسجيلات الدخول الثلاثة - أيون التجريبي. حساب مع حقوق المسؤول - تسجيل الدخول - التجريبي ، كلمة المرور - ايون التجريبي.
هل سنحاول؟
إذا كنت ترغب في تكرار تجربتنا ، فقد كتبنا تعليمات مفصلة "كيفية إنشاء تطبيق تذاكر في IONDV. Studio" . هناك الكثير من لقطات الشاشة لتتمكن من رؤية ما تقوم بإنشائه في الاستوديو = إنشاء. سيكون أمرا رائعا إذا ألهمك هذا التطبيق لإنشاء نظام محاسبة خاص بك. هدفنا هو إظهار مدى سهولة وسرعة تحول الفكرة إلى نموذج أولي حقيقي.
إذا وجدت أخطاء ، فاكتب في التعليقات أو في مستودع تطبيق المسائل على جيثب. شارك بأفكارك ، أين يمكنك تطبيق نظام مماثل؟ ماذا ستغير؟