تفاصيل العمل

تطبيق Tracker هو مشروع ويب مبني باستخدام ASP.NET Core Web API يهدف إلى مساعدة الأفراد في إيجاد الأطفال المفقودين والممتلكات الضائعة بطريقة فعالة وسهلة. يعكس المشروع تصميمًا احترافيًا ومنهجية واضحة لإدارة الحسابات والمستخدمين والعناصر المفقودة والأشخاص، إلى جانب نظام تعليقات وشكاوى. إليك عرض تفصيلي لكل ما يتعلق بالمشروع:

المقدمة

في عالم سريع الإيقاع ومترابط كعالمنا اليوم، يُعتبر فقدان الممتلكات الثمينة أو حتى غياب أحد أفراد العائلة من أصعب التحديات التي قد يواجهها الإنسان. جاء تطبيق Tracker لتقديم حل بسيط ومباشر يساعد في مثل هذه الحالات، ويمنح الأمل للأفراد والأسر من خلال تيسير عملية البحث واستعادة ما هو أكثر أهمية بالنسبة لهم.

ملخص المشروع

مشروع Tracker هو تطبيق ويب API يدعم العديد من الخصائص المتقدمة:

إدارة الحسابات: تسجيل المستخدمين، تسجيل الدخول، تأكيد البريد الإلكتروني، واستعادة كلمة المرور.

إدارة العناصر والأشخاص: إضافة، تحديث، حذف، ورفع صور.

نظام الشكاوى: تقديم الشكاوى وإدارتها.

نظام التعليقات: السماح بالتعليق على العناصر والأشخاص.

مصادقة باستخدام JWT: للحفاظ على أمان المستخدمين.

تحكم مستند إلى الأدوار: تفويض الصلاحيات بناءً على دور المستخدم (مثل المدير والمستخدم العادي).

رفع الملفات: دعم رفع الصور للملفات الشخصية والعناصر.

التقنيات المستخدمة

ASP.NET Core 6: لإنشاء واجهات RESTful.

لغة C#: لكتابة منطق التطبيق الخلفي.

Entity Framework Core: لإجراء العمليات على قاعدة البيانات.

ASP.NET Identity: لإدارة المستخدمين والصلاحيات.

SQL Server: قاعدة البيانات.

JWT Authentication: لتأمين المصادقة.

AutoMapper: لتحويل الكيانات إلى DTOs والعكس.

Swagger: لتوثيق الـ APIs.

XUnit/NUnit: لاختبار المنطق الأساسي للتطبيق.

الخصائص

المصادقة (Authentication):

تسجيل المستخدمين: عملية تسجيل سهلة وفعالة.

تسجيل الدخول: تسجيل آمن باستخدام بيانات الاعتماد.

تأكيد البريد الإلكتروني: للتحقق من هوية المستخدم.

استعادة كلمة المرور: دعم استرجاع كلمة المرور عند فقدانها.

OTP: التحقق باستخدام رمز لمرة واحدة.

إعادة تعيين كلمة المرور: بشكل آمن.

إدارة العناصر والأشخاص:

إضافة العناصر أو الأشخاص مع صور.

إجراء عمليات التعديل أو الحذف.

بحث مخصص حسب الاسم أو الحالة.

نظام الشكاوى والتعليقات:

تقديم الشكاوى ومراجعتها.

إضافة التعليقات للعناصر والأشخاص.

إدارة التعليقات من قِبل المستخدمين.

بنية المشروع (Project Structure)

يتبع المشروع Layered Architecture مع فصل واضح للمسؤوليات بين الطبقات المختلفة:

Account.Apis: يحتوي على الـ Controllers وتكوين التطبيق الأساسي.

Account.Core: يحتوي على المنطق الأساسي والنماذج و الـ DTOs.

Account.Repository: يُنفذ نمط الـ Repository للتعامل مع قاعدة البيانات.

Account.Services: يدير المنطق الخاص بالخدمات.

أبرز الـ Controllers

AccountController

تسجيل المستخدمين وتسجيل الدخول.

إدارة كلمات المرور.

التحقق من البريد الإلكتروني.

استرجاع معلومات المستخدم.

ItemsController

إضافة العناصر وتحديثها وحذفها.

البحث حسب الحالة أو الاسم.

PersonsController

إضافة الأشخاص وتحديث ملفاتهم الشخصية.

البحث حسب الحالة أو الاسم.

AdminController

مهام المدير فقط، مثل:

إدارة الشكاوى.

حذف المستخدمين.

عرض إحصائيات النظام.

ComplainsController

إرسال ومراجعة الشكاوى.

تحديث الشكاوى أو حذفها.

Comments Controllers

ItemCommentsController: إدارة التعليقات على العناصر.

PersonCommentsController: إدارة التعليقات على الأشخاص.

البدء باستخدام المشروع (Getting Started)

نسخ المشروع من المستودع.

تثبيت بيئة التطوير المناسبة (.NET SDK و SQL Server).

إعداد الاتصال بقاعدة البيانات من إعدادات التطبيق.

بناء التطبيق وتشغيله محليًا.

استكشاف الخصائص وتجربتها.

مشروع Tracker هو خطوة مبتكرة لمساعدة الأفراد والمجتمعات على التصدي لتحديات الفقدان من خلال تقنيات برمجية متقدمة ومنهجية تصميم محترفة.

بطاقة العمل

اسم المستقل
عدد الإعجابات
0
عدد المشاهدات
5
تاريخ الإضافة
تاريخ الإنجاز