مقدمة المشروع
تُعد هذه المنصة نظاماً متكاملاً للتمويل الجماعي، صُممت وفق معايير برمجية حديثة لتمكين الأفراد والمؤسسات من طرح مشاريعهم وجمع التبرعات من خلال مساهمات عامة منظمة. تهدف المنصة إلى توفير بيئة آمنة وشفافة تجمع بين منشئي الحملات والمتبرعين تحت إشراف إداري دقيق.
البنية التحتية والتقنيات المستخدمة
إطار العمل البرمجي (Backend): NestJS القائم على بيئة Node.js لضمان هيكلية برمجية قابلة للتوسع.
قواعد البيانات: MySQL/MariaDB مع استخدام Prisma كـ Object-Relational Mapper (ORM) لإدارة البيانات بكفاءة.
نظام المصادقة: JWT مع Passport، وتشفير كلمات المرور باستخدام خوارزمية Argon2.
بوابة الدفع: التكامل مع Stripe لمعالجة العمليات المالية بشكل آمن.
تخزين الملفات: ImageKit لإدارة ورفع الوسائط المتعددة.
تحسين الأداء: استخدام Redis لعمليات التخزين المؤقت (Caching).
التوثيق التقني: Swagger/OpenAPI لتوفير مرجع كامل لـ API.
خدمات البريد: Nodemailer لإرسال الإشعارات والرسائل التفاعلية.
المواصفات الوظيفية والميزات الأساسية
أولاً: إدارة الصلاحيات والأدوار
يتضمن النظام ثلاثة مستويات من الوصول لضمان انسيابية العمل:
المتبرعون (Donors): تصفح المشاريع والمساهمة المالية.
منشئو الحملات (Campaign Creators): طرح المشاريع وإدارة التحديثات.
مدراء النظام (Admins): الرقابة الكاملة والموافقة على العمليات.
ثانياً: نظام إدارة الحملات
دعم دورة حياة الحملة الكاملة (إنشاء، تعديل، أرشفة).
تصنيف الحملات لسبع فئات رئيسية: (المياه، الصحة، البيئة، الغذاء، التعليم، الإيواء، وحماية الحيوان).
تحديد النطاق الجغرافي للمشاريع (محلي أو دولي).
نظام حالات تقني لمتابعة الطلبات (معلقة، مؤكدة، مرفوضة).
إمكانية إضافة تحديثات دورية للحملة مدعومة بالوسائط لإطلاع المتبرعين على سير العمل.
ثالثاً: المنظومة المالية
معالجة الدفع المباشر عبر بوابة Stripe.
نظام تتبع لحظي لحالات الدفع وسجل شامل لجميع التبرعات.
إدارة طلبات السحب المالي (Payouts) لمنشئي الحملات بعد ربط الحسابات البنكية، مع وجود نظام مراجعة إداري دقيق قبل التحويل.
رابعاً: التحقق من الهوية (KYC)
نظام صارم للتحقق من هوية المستخدمين يتطلب رفع وثائق رسمية (صورة الهوية الأمامية والخلفية، وصورة شخصية سيلفي).
لا تمنح صلاحيات جمع التبرعات إلا بعد مراجعة الوثائق والموافقة عليها من قبل الإدارة.
الأمان وحماية البيانات
تعتمد المنصة استراتيجية أمنية متعددة الطبقات تشمل:
التحكم بالوصول: تطبيق نظام Role-Based Access Control (RBAC) لضمان خصوصية البيانات.
حماية الـ Header: استخدام مكتبة Helmet للحماية من الثغرات الأمنية الشائعة عبر الويب.
تحليل البيانات: استخدام Class Validator لضمان سلامة المدخلات ومنع الهجمات البرمجية.
التشفير: تأمين بيانات الحسابات باستخدام تقنيات تشفير متقدمة لضمان عدم اختراقها.
Swagger Documentation: https://lnkd.in/dyZCK8P5