صفاقس المزيانة — منصة لتسيير الجمعية
- تطوير الويب
- قيد الإنجاز
منصة MERN لجمعية تونسية: موقع عام وفضاء إدارة يغطّي المشاريع والموارد البشرية والتكوين والمالية واللوجستيك، مع 10 أدوار RBAC.
نظرة عامة
صفاقس المزيانة جمعية تونسية كانت تدير أعضاءها ومشاريعها ودوراتها التكوينية وماليتها بأدوات متفرّقة. صمّمت وطوّرت منصة تجمع موقعًا تعريفيًا عامًا وفضاء إدارة يغطّي دورة حياة الجمعية كاملة.
يمثّل التحكّم في الصلاحيات العمود الفقري للمنصة: 10 أدوار هرمية، ونوّاب (نائب الرئيس، نائب الكاتب العام)، وصلاحيات سياقية (مسؤول مجموعة أو نشاط أو تكوين، منظّم اجتماع). ويمكن تعديل مصفوفة الأدوار × الوحدات مباشرة من الواجهة، وتطبّقها الواجهة البرمجية.
ما استخلصته: صمّمت نظام صلاحيات ديناميكيًا ومتوافقًا مع ما سبقه — تُطبَّق الصلاحيات الافتراضية ما لم يعدّل أحد المصفوفة — ونمذجت بيانات متعددة الأشكال، مثل الحضور والتقييمات التي يمكن ربطها بمشروع أو نشاط أو دورة تكوينية. وقُدت مشروعًا وظيفيًا كاملًا، من جمع الحاجيات إلى النشر.
أرقام رئيسية
- دورًا هرميًا (RBAC)
- 10
- دورًا هرميًا (RBAC)
- تبويبًا في كل بطاقة مشروع
- 19
- تبويبًا في كل بطاقة مشروع
- اختبارًا آليًا للواجهة البرمجية
- 172
- اختبارًا آليًا للواجهة البرمجية
- لغات (منها العربية من اليمين إلى اليسار)
- 3
- لغات (منها العربية من اليمين إلى اليسار)
التقنيات
المشكلة
كانت الجمعية تدير أعضاءها ومشاريعها ودوراتها التكوينية وماليتها بأدوات متفرّقة، دون فضاء موحّد لتنسيق فرقها ومتابعة نشاطها.
الحل
منصة متكاملة بتقنيات MERN. الواجهة الأمامية: React 19 و React Router 7 و Vite و Tailwind CSS و Bootstrap و Recharts. الواجهة الخلفية: Node.js و Express و MongoDB/Mongoose وواجهة REST. الوثائق: PDFKit و Docxtemplater (قوالب Word) و ExcelJS والتحويل عبر LibreOffice ورموز QR. الأمان: JWT في ملفات تعريف الارتباط و bcrypt و Helmet و CORS وتحديد عدد الطلبات و express-validator و mongo-sanitize. النشر: Docker و docker-compose و Nginx.
مساهمتي
تصميم المنصة كاملة وتطويرها: معمارية RBAC ومصفوفة الصلاحيات، ووحدات الأعمال، وتوليد الوثائق (PDF و Word و Excel)، والأمان، والاختبارات الآلية، والنشر في حاويات.
النتائج
يغطّي المشروع 27 مجموعة اختبارات و172 اختبارًا آليًا للواجهة البرمجية (Jest و Supertest)، إضافة إلى اختبارات شاملة بـ Playwright.
الميزات
- تحكّم متقدّم في الصلاحيات: 10 أدوار هرمية، ونوّاب، وصلاحيات سياقية، ومصفوفة صلاحيات أدوار × وحدات (قراءة وكتابة، قراءة فقط أو دون وصول) قابلة للتعديل مباشرة
- إدارة المشاريع: بطاقة مشروع كاملة من 19 تبويبًا (الأنشطة، الفرق، اللجان، المتابعة، الميزانية، الوثائق…)
- الموارد البشرية: الحضور والتقييمات المرتبطة بالمشاريع، و«فضائي» الشخصي لكل عضو
- التكوين: المكوّنون والحصص وتقييم المشاركين
- المالية: الانخراطات، والاشتراكات بدفعات متعدّدة، والفوترة، ووصولات PDF برمز QR يمكن التحقق منه عبر الإنترنت
- اللوجستيك: جرد المعدّات وطلبات المعدّات
- التواصل: إشعارات، ودعوات (قبول أو رفض أو تبرير)، ونشر مع إشعارات القراءة، ورسائل بريد إلكتروني آلية
- لوحات قيادة بإحصائيات ورسوم بيانية (Recharts)، وخريطة تفاعلية، وموقع عام متعدد اللغات (فرنسية/عربية/إنجليزية، والعربية من اليمين إلى اليسار)
