تطبيق قنديل البحر للهاتف المحمول
مقدمة
يركز المشروع على إعادة إنشاء Jellyfish Backend، وهو مكون مهم في تطبيق المراسلة Jellyfish المصمم لمنصات Android وiOS. تم تطوير الواجهة الخلفية بدقة وفقًا لمبادئ التصميم القائم على المجال والهندسة المعمارية النظيفة. يتم تنظيم الاتصال داخل النظام باستخدام مكتبة Meditr، مع التركيز على فصل استعلام الأوامر (CQS) لتحسين وضوح التعليمات البرمجية وفصل الاهتمامات.
في حين أن النشر الحالي يعمل كوحدة واحدة، إلا أن البنية تتسم بالمرونة بطبيعتها. ويمكنه التكيف بسرعة مع نموذج الخدمات الصغيرة من خلال دمج أدوات مثل بوابات API (على سبيل المثال، Ocelot، YARP)، وفصل مسؤولية استعلام الأوامر (CQRS)، وعمليات مزامنة قاعدة البيانات الخلفية. يستخدم الأخير القفل المتفائل مع إصدار الصف لضمان الاتساق بين قواعد بيانات القراءة والكتابة.
تحسبًا للتحسينات المستقبلية، تتصور البنية تنفيذ اتصال غير متزامن من خلال AMQP عبر RabbitMQ. سيؤدي ذلك إلى تمكين النظام من التعامل بكفاءة مع الأحداث من خلال قوائم الانتظار، ووضع الأساس لسلوكيات النشر/الاشتراك القوية.
كومة التكنولوجيا
الخلفية | واجهة الويب | تطبيق الهاتف المحمول |
---|
سي#/نت 7 | سي#/نت 7 | سي#/نت 7 |
أسب نت | خادم بليزر | صافي ماوي |
ماي اس كيو ال 8.0.35 | مكونات ماكينة الحلاقة | |
سيجنال آر | مكونات واجهة مستخدم Mudblazor (https://mudblazor.com/) | |
عامل ميناء | | |
إي إف كور | | |
اختبار
التوثيق
- توثيق واسع النطاق:
- يركز المشروع بشدة على التوثيق الشامل لتسهيل الاستخدام والفهم لجميع أصحاب المصلحة. تتضمن الوثائق حاليًا ما يلي:
- توثيق مخطط العلاقة بين الكيان (EER):
- تم إعداد وثائق EER مفصلة لتوفير نظرة ثاقبة لنموذج البيانات والعلاقات داخل النظام. تعمل هذه الوثائق كمورد قيم للمطورين، حيث تساعد في فهم واضح لبنية قاعدة البيانات الأساسية.
- توثيق الغرور:
- يستفيد المشروع من وثائق Swagger لضمان توثيق واجهة برمجة التطبيقات المفصلة والتفاعلية. يوفر Swagger واجهة بديهية وسهلة الاستخدام لاستكشاف وفهم نقاط النهاية والمعلمات والاستجابات المتاحة لواجهة برمجة التطبيقات. تعتبر هذه الوثائق ضرورية للمطورين، مما يتيح التكامل والتفاعل السلس مع واجهات برمجة التطبيقات المتوفرة.
النشر
تراث عبر ثنائي أو مع حاوية عامل إرساء.
دوافع المشروع وأهدافه
- اختبار NET MAUI على منصات متنقلة متعددة:
- الدافع الأساسي وراء بدء هذا المشروع هو اختبار NET MAUI بدقة على منصات متنقلة مختلفة. يتضمن ذلك اختبارًا شاملاً وتحسينًا لضمان الأداء السلس والتوافق عبر الأنظمة الأساسية المحددة، مما يساهم برؤى قيمة لمجتمع NET MAUI.
- تمكين المستخدمين من استضافة البنية التحتية للمراسلة الخاصة بهم:
- أحد الأهداف الرئيسية لهذا المشروع هو تمكين المستخدمين من خلال تزويدهم بفرصة استضافة البنية التحتية للمراسلة الخاصة بهم بشكل مستقل. ويهدف هذا إلى إضفاء الطابع الديمقراطي على إمكانية الوصول إلى خدمات المراسلة، مما يسمح للمستخدمين بالتحكم في بيئة الاتصال الخاصة بهم.
- الاستخدام الأمثل للموارد:
- أحد الآثار الجانبية الجديرة بالملاحظة لهذه المبادرة هو التركيز على تمكين استضافة البنية التحتية للمراسلة مع الحد الأدنى من موارد الأجهزة. على وجه التحديد، يستهدف المشروع الاستخدام الفعال، مما يسمح للمستخدمين بتشغيل البنية التحتية على أجهزة يمكن الوصول إليها مثل Raspberry Pi. ويتوافق هذا التركيز على كفاءة استخدام الموارد مع التزام المشروع بإمكانية الوصول والاستدامة.
ميزات الأمان والمستقبل
- التشفير الشامل وحماية الخصوصية:
- يعد ضمان أمان بيانات المستخدم أمرًا بالغ الأهمية. ستتضمن الخطوات القادمة قبل إصدار النسخة الإنتاجية الأولى التنفيذ الدقيق للتشفير الشامل. سيوفر هذا طبقة قوية من الحماية لمعلومات المستخدم الحساسة. بالإضافة إلى ذلك، فإن اعتماد نمط الحمولة القابلة للنسيان سيؤدي إلى تعزيز الخصوصية من خلال تقليل الاحتفاظ بالبيانات، بما يتماشى مع أفضل ممارسات الخصوصية.
- روبوتات دعم الذكاء الاصطناعي:
- من أجل احتضان مستقبل تفاعل المستخدم، هناك خطط لدمج روبوتات دعم الذكاء الاصطناعي (AI) في النظام. يتم النظر في الاستفادة من تقنيات الذكاء الاصطناعي المتقدمة مثل Google Llama أو ChatGPT. ستعمل هذه الروبوتات المعتمدة على الذكاء الاصطناعي على تعزيز مشاركة المستخدم، وتبسيط عمليات الدعم، والمساهمة في تجربة مستخدم ذكية وسريعة الاستجابة.
- البنية التحتية لسلسلة الكتل:
- من خلال استكشاف التقنيات المتطورة، هناك رؤية استشرافية لدراسة جدوى استضافة البنية التحتية للنظام على blockchain. سيتم تقييم فوائد تقنية blockchain، بما في ذلك تعزيز الأمن واللامركزية والشفافية. ويهدف هذا النهج التقدمي إلى تحصين النظام في المستقبل ومواءمته مع الاتجاهات الناشئة في البنى الآمنة واللامركزية.
للقيام
الخلفية:
واجهة الويب:
الميزات (من واجهة الويب):
تطبيق الجوال:
- وضع علامة على الرسائل على أنها غير قادرة على التقاط لقطة الشاشة: تم تعتيم هذه الرسائل عن طريق إنشاء لقطة الشاشة. نفس الصورة الشخصية
- تقويمات المجموعة: التخطيط للأنشطة الخاصة معًا في تقويم Groupchat.
- الاهتمام بالمشاركة: ضع علامة على الرسائل على أنها غير قابلة للمشاركة، لعدم الاهتمام بالمشاركة غير المسموح بها :)
- القدرة على استضافة البنية التحتية للرسائل بنفسك. لا تبعية للآخرين!
- ضد العنف: يتم إساءة استخدام الدردشات الخاصة اليوم مثل Telegramm من قبل الأشخاص بسبب العنف ومحتوى البالغين. لذا فإن قنديل البحر يجلب القدرة على تجنب مشاركة مثل هذا المحتوى. تقوم خوارزمية التعلم الآلي بتقييم الوسائط التي سيتم مشاركتها عبر برنامج المراسلة. عندما يتم التعرف على المحتوى العنيف، سيتم تجنب الرسالة المرسلة. ** يتطلب Azure AI Vision أو خوارزمية ML مماثلة **
- مشاركة الموقع من خلال المسار المباشر: من غير الضروري إذا كنت في مجموعات أو محادثات خاصة، سيتم بث تحركاتك مباشرة إلى أعضاء الدردشة عندما يكون وضع المشاهد قيد التشغيل (متاح فقط في خريطة المسار المباشر).
- النسيان: الحق في النسيان هو حجر الزاوية في القانون العام لحماية البيانات (GDPR) اليوم. عن طريق إزالة الحساب، ستتم إزالة جميع البيانات (وكذلك رسائل الدردشة التي تتم مشاركتها مع الأصدقاء). وبالطبع وسائل الإعلام أيضا. أدرك أن حذف الوسائط التي يتم إرسالها إلى أعضاء الدردشة ليس ممارسة اليوم ولكن لكل إنسان الحق في نسيان بياناته التي تم إنشاؤها.
- استطلاعات الرأي/الأصوات: على سبيل المثال لتطبيق WhatsApp: ستكون الأصوات متاحة أيضًا في قناديل البحر.
عام:
ابقوا متابعين .
لوحة الإدارة ألفا 0.1
لوحة القيادة
إدارة المستخدم (Users.razor) مع ترقيم الصفحات والبحث
إدارة المستخدم (Users.razor) - إضافة/تحرير
إدارة المستخدم (Users.razor) - حذف
فيديو: معاينة عامل التصفية الانتقالي من طلب Http إلى Linq Expression وأخيرًا إلى MySql Query عبر ORM (ديناميكيًا) / THUMBNAIL PNG أدناه (HREF)
مخطط علاقة الكيان المحسن
التحليل الرمزي بعد إضافة MobileApp إلى الحل
سير عمل التكامل المستمر مع Github Action
الاختبار من المركز (حالات الاستخدام والمجال)