ملخص Xenocrates Xenocrates هو تطبيق مصمم لتزويد الشركات بنظام إدارة الموظفين لضمان تنظيم أفضل. تم تصميم Xenocrates في ASP.NET MVC مع SQL Server كقاعدة بيانات و jQuery لطلبات بيانات ASYNC. يتم تقسيم خدمات Xenocrates في ثلاث فئات رئيسية
خدمات المشرف: • إحصائيات للشركة بأكملها التي تبقيه على اطلاع على شركته. • عرض عدد الموظفين في كل دور. • عمليات Crud على جميع العمال في شركته ، وانتقل إلى العثور على كل التفاصيل التي يريدها حول موظفيه • عمليات Crud في جميع أقسامه ومشاهدة تفاصيل محددة لكل قسم • عرض جميع المشاريع النشطة ولكنه أيضًا في جميع أقسامه بتفاصيل. • نظام الدفع المتكامل مع PayPal يسمح له بالدفع بسرعة بنقرة زر واحدة. • سجل الدفع التحليلي لكل موظف. خدمات المشرف: • إحصاءات إدارته. • عرض تفاصيل كل عامل في قسمه • عمليات CRUD على التقويمات الفردية لموظفيه • عمليات CRUD في المشاريع • القدرة على التنظيم والتواصل مع الدردشة المباشرة
خدمات الموظفين: • التواصل مع كل شخص في قسمه من خلال الدردشة المباشرة • عرض التقويم الخاص به لمشاهدة جدول أعماله لهذا الشهر • عرض وإنهاء المشاريع المخصصة له
تفاصيل الخدمات: • تم دمج PayPal الآن في وضع Sandbox ولكن لديه جميع الإمكانات للحياة. في الوقت الحالي ، يتعاون Xenocrates مع خدمة الدفع الخاصة بـ PayPal API. تم تصميم نظام الدفع لـ Xenocrates حتى يتمكن من حماية المشرف من ارتكاب خطأ في المدفوعات. بعد دفع الموظف ، تظهر رسالة تذكره بأن المسؤول قد دفع الموظف المحدد بالفعل ولا يسمح له بدفعه مرة أخرى طوال الشهر. بعد كل محاولة للدفع ، يكتشف النظام حالة الطلب ، وإذا كان إيجابيًا ، فإنه يوفر الدفع الناجح للنظام ويخزنه في البيانات الشخصية للموظف حتى يتمكن المسؤول من الحصول على مسار كامل من مدفوعاته ، وإلا يعلن النظام عن مشكلة في المعاملة. • يتم البحث في البريد الإلكتروني والهاتف لكل موظف على نطاق عالمي للتحقق مما إذا كانت صالحة حتى لا يتم تسجيل حسابات مزيفة. API لهذا تشمل النيوترونابيفون و Zerobounce1. • طريقة الأمان التي تعمل بشكل متكرر للتأكد من عدم حفظ أي إدخالات غير لائقة داخل قاعدة البيانات • الدردشة المباشرة مع التنفيذ على تقنية SignalR التي تتيح لكل موظف في القسم الدردشة مع بعضها البعض في الوقت الفعلي. يتم حفظ كل رسالة على قاعدة البيانات بحيث يمكن إضافتها إلى سجل الرسائل. • تنفيذ التقويم مع التقويم الكامل كقاعدة ولكن تخصيصها بالكامل لاحتياجات المشرف. يقوم المشرف بتفتيش المشروعات التي كلفها لكل موظف واعتمادًا على تحميل العمل ، يعدل الجدول الشهري لكل واحد من الموظفين. من ناحية أخرى ، لا يمكن للموظف رؤية تقويمه إلا دون أن يتمكن من تنفيذ إجراءات له. • الرسوم البيانية والرسومات مع مكالمات الفانيليا Javacript الشخصية و Ajax مع jQuery لتناسب المتطلبات. • تم تأكيد الهاتف المحمول باستخدام Twillio مع حساب تجريبي مجاني. يتم إدخال الهاتف المحمول وتأكيده في أول تسجيل دخول لكل مستخدم جديد. أولاً ، يتحقق API من وجود رقم الهاتف ، ثم يتم إرسال رسالة من Twillio مع رمز أمان للمتابعة بسلامة. للتأكد من أن أعمال تأكيد Twillio تملأ مجانًا للاتصال بفيرافلوس Team حتى نتمكن من تضمين رقمك في حسابنا ، فإن حسابات المحاكمة المجانية فقط ترسل نصوصًا إلى أرقام تم التحقق منها من الحساب. • يتم تنفيذ تأكيد البريد الإلكتروني بمساعدة الأساليب المدمجة التي يتم توفيرها من ASP.NET والتي تتيح لنا إرسال بريد إلكتروني تأكيد جديد إلى كل موظف جديد للتأكد من تأكيد بريده الإلكتروني.
تحليل الواجهة الخلفية: تم تصميم Xenocrates بفكرة المكون الرئيسي الذي يتم تزويده بالبيانات والخدمات من مقدمي الخدمات المستقلين. لا تملك وحدات التحكم الوصول إلى قاعدة البيانات أو سحب وزن المهام الصعبة. لذلك لدى كل وحدة تحكم مستودع بيانات خاص به وأيضًا الوصول إلى خدمة تقوم بجميع المهام. لذلك ينقسم مستودع البيانات لكل وحدة تحكم إلى مجموعات مختلفة اعتمادًا على نوع البيانات.
كان الفصل بين المخاوف هو تركيزنا الرئيسي أثناء بناء Xenocrates حتى يتسنى لنا أن يكون لدينا الكثير من الأساليب المستقلة التي تبني نظامًا سريعًا يمكن صيانته ومتكاملًا. الأساليب التي لها مسؤوليات واحدة بحيث يسهل فهم رمز المصدر وترك نافذة لاختبار Xunit في تصحيح مستقبلي بحيث يتم التحكم في كل شيء أكثر.
تم تنفيذ مستودع SortingAndFiltering وأيضًا مستودعًا لأحرف Viewbags بعد نمط مستودع البيانات. كل ما يجب القيام به حتى يتم تحقيق قاعدة "لا تكرر نفسك" ويتم تحقيق فصل المخاوف.
مخطط قاعدة البيانات:
تم تصميم قاعدة البيانات وإنشائها مع التركيز الرئيسي ، تتفاعل مع كيانات إطار الكيان بأقل قدر ممكن لأن تعقيد الكيان مع المفاتيح التي توفر وربط كياناتها يمكن أن تكون خطرة للغاية على استقرار قاعدة البيانات الخاصة بنا. حاولنا تطبيع قاعدة البيانات الخاصة بنا قدر الإمكان بحيث يمكن معالجة كل شيء دون التسبب في تسونامي من ردود الفعل. في معظم الحالات ، خلفنا ذلك في تقسيم كياناتنا إلى كيانين رئيسيين. أول واحد هو المستخدم الذي تم تقديمه وحمايته من الكيان-فتراميل الذي يمثل الملف الشخصي عبر الإنترنت للموظف والتفاصيل الشخصية للموظف الذي تم التعرف عليه في قاعدة البيانات الخاصة بنا في جدول العامل. كل شيء باستثناء هذين الكيانين يمكن حذفه أو تحريره في أي وقت دون أي تكلفة.
المشكلات التي واجهناها: واجهنا أنواعًا مختلفة من المشكلات الصغيرة: • معالجة وقم البيانات • تحويل أوقات البيانات C# إلى تاريخ JavaScript • تم معالجة القالب الذي استخدمناه في الواجهة الأمامية ، لكن المشكلات التي أزعجتنا أكثر: • تم بناء نسخة من أطراف الأطراف المخصصة من إجهادات الأطراف المخصصة لتكوينات من الأطراف المخصصة لتكاثرات. تعرضت ASP.NETUSERS. لذلك كان علينا أن نبدأ من جديد وإيجاد الطريق إلى التصميم النهائي لقاعدة البيانات. هذا هو السبب في أن المجلد يدعى ManagementSystemVersionTwo. • لم تكن مكتبة التقويم الكاملة مفيدة لنا ، لذلك كان علينا قضاء بعض الأيام في قراءة جميع الوثائق لفهم كيفية التعامل معها بحيث يمكن أن تكون وظيفية. شكرًا لك! كريستوس لاغوس إيليانا بيكو سبيروس تساميس جورج شاتزيديس جون بودوغوريوتيوتس