تفاصيل العمل

نظام إدارة خدمات صيانة المنازل (Home Maintenance System)

نبذة عن المشروع

قمت بتطوير نظام متكامل لخدمات صيانة المنازل، يهدف إلى الربط بين العملاء وشركات الصيانة والفنيين من خلال منصة واحدة، لتسهيل طلب خدمات الصيانة وإدارتها ومتابعة تنفيذها، بدايةً من تقديم الطلب وحتى الانتهاء من الخدمة وتقييمها.

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

أنواع المستخدمين والصلاحيات

تم تصميم النظام ليدعم أربعة أنواع من المستخدمين، بحيث يمتلك كل مستخدم صلاحيات تناسب دوره:

- مدير النظام (Admin): إدارة النظام والخدمات، ومراجعة بيانات شركات الصيانة والموافقة عليها، والتحكم في صلاحيات المستخدمين وفقًا لدورهم.

- مالك شركة الصيانة (Company Owner): إدارة بيانات الشركة وخدماتها وطلبات الصيانة، وقبول الطلبات أو رفضها، وتحديد تكلفة المعاينة، وإدارة الفنيين وتوزيع المهام عليهم.

- الفني (Technician):الانضمام إلى إحدى شركات الصيانة بعد قبول طلبه، ومتابعة الطلبات المسندة إليه، وتحديث حالة التنفيذ، وتسجيل تفاصيل العمل والتكاليف الإضافية عند الحاجة.

- **العميل (Client): استعراض خدمات الصيانة المتاحة، واختيار الشركة المناسبة، وإنشاء طلبات الصيانة، ومتابعة حالة الطلب، وإتمام الدفع، وتقييم الخدمة بعد الانتهاء منها.

آلية عمل النظام

يمر طلب الصيانة بمراحل منظمة تضمن وضوح الإجراءات بين العميل والشركة والفني:

1. إنشاء طلب الصيانة:يختار العميل الخدمة المطلوبة وشركة الصيانة المناسبة، ثم يرسل تفاصيل المشكلة ويرفق الصور اللازمة لتوضيح العطل.

2. مراجعة الطلب: تستقبل الشركة الطلب وتقرر قبوله أو رفضه، وعند قبوله يمكنها تحديد تكلفة المعاينة وإرسالها إلى العميل.

3. تأكيد التكلفة: يستطيع العميل مراجعة عرض السعر والموافقة عليه أو رفضه قبل استكمال الإجراءات.

4. تعيين الفني: بعد الموافقة، تقوم الشركة بتعيين فني مناسب للطلب وتنظيم عملية تنفيذ الخدمة.

5. متابعة التنفيذ: يستطيع الفني تحديث حالة الطلب، مثل التوجه إلى العميل، والوصول إلى الموقع، وبدء العمل، والانتهاء منه.

6. إدارة التكاليف الإضافية: عند اكتشاف احتياج إلى قطع غيار أو أعمال إضافية، يمكن تسجيل التفاصيل والتكلفة وسبب الإضافة وإرفاق الصور اللازمة، ليتمكن العميل من مراجعتها والموافقة عليها وفقًا لسير العمل.

7. الدفع وإتمام الخدمة:يدعم النظام الدفع الإلكتروني من خلال Stripe، مع متابعة حالة عملية الدفع وربطها بطلب الصيانة.

8. التقييم والمراجعة: بعد الانتهاء من الخدمة، يستطيع العميل تقييم التجربة وتقديم مراجعة تساعد في تحسين جودة الخدمات.

أهم المميزات التي تم تنفيذها

-إدارة المستخدمين والصلاحيات:تطبيق نظام صلاحيات قائم على أدوار المستخدمين لضمان وصول كل مستخدم إلى الوظائف والبيانات المسموح بها.

- إدارة شركات الصيانة والفنيين: تنظيم بيانات الشركات، ومراجعة طلبات انضمام الشركات، وإدارة طلبات انضمام الفنيين وتوزيع المهام.

- إدارة طلبات الصيانة: إنشاء الطلبات ومتابعتها وتحديث حالتها عبر مراحل التنفيذ المختلفة.

- **الإشعارات الفورية: استخدام SignalR لإرسال إشعارات لحظية تساعد المستخدمين على متابعة التغييرات المهمة في حالة الطلب.

- رفع الصور وإدارتها:دعم إرفاق الصور بطلبات الصيانة والتفاصيل المتعلقة بالمشكلات والتكاليف الإضافية.

- الدفع الإلكتروني: دمج Stripe لتسهيل عمليات الدفع، مع التعامل مع جلسات الدفع ومتابعة حالة العملية.

- التقييمات والمراجعات: تمكين العملاء من تقييم خدمات الصيانة بعد تنفيذها.

- تقسيم البيانات إلى صفحات (Pagination): تنظيم النتائج وعرضها على صفحات متعددة لتسهيل التعامل مع كميات البيانات الكبيرة.

- البحث والتصفية والترتيب: تسهيل الوصول إلى البيانات والطلبات المطلوبة بصورة أكثر تنظيمًا.

- التحقق من هوية المستخدم: استخدام أنظمة المصادقة والتفويض لحماية واجهات النظام والتحكم في الوصول إليها.

- تنظيم الكود وفصل المسؤوليات: تقسيم النظام إلى مكونات وطبقات تساعد على سهولة الصيانة والتطوير وإضافة وظائف مستقبلية.

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

- C# و ASP.NET Core Web API: لبناء الواجهات البرمجية التي تتعامل مع طلبات المستخدمين وتنفذ منطق العمل.

- Entity Framework Core و LINQ: للتعامل مع قاعدة البيانات وتنفيذ عمليات الاستعلام والإضافة والتعديل والحذف.

- SQL Server:لتخزين بيانات المستخدمين والشركات والفنيين والخدمات وطلبات الصيانة والمدفوعات والتقييمات.

- ASP.NET Core Identity و JWT: لإدارة حسابات المستخدمين والمصادقة والتحكم في الوصول إلى الوظائف المحمية.

- SignalR: لتنفيذ الإشعارات الفورية وتحديثات حالة الطلب.

- Stripe: لدمج الدفع الإلكتروني ومتابعة حالة عمليات الدفع.

- Swagger و Postman: لتوثيق واجهات API واختبارها والتحقق من سلوكها.

الهدف من المشروع

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

وقد أتاح لي المشروع تطبيق مفاهيم تطوير الأنظمة الخلفية عمليًا، بدايةً من تصميم واجهات API وقواعد البيانات وإدارة الصلاحيات، وصولًا إلى تكامل الخدمات الخارجية والإشعارات اللحظية وإدارة دورة حياة طلب الصيانة.

ملفات مرفقة

بطاقة العمل

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