Skip to content
Mohamed TRIKI
Back to internships & projects

Sfax El Mezyena — Association Management Platform

  • Web Development
  • In progress

Built a MERN platform for a Tunisian association: public website and an admin dashboard covering projects, HR, training, finances and logistics, with 10 RBAC roles.

Overview

Sfax El Mezyena is a Tunisian association that managed its members, projects, training courses and finances with scattered tools. I designed and developed a platform that brings together a public showcase website and an administration area covering the association’s whole life cycle.

Access control is the backbone of the platform: 10 hierarchical roles, deputies (VP, deputy SG) and contextual rights (group, activity or training lead, meeting organiser). A role × module matrix can be edited live from the interface and is enforced by the API.

Key takeaways: I designed a dynamic, backward-compatible permission system — default rights apply as long as nobody edits the matrix — and modelled polymorphic data, such as attendance and evaluations that can be linked to a project, an activity or a training course. I led a complete business project, from requirements gathering to deployment.

Key figures

hierarchical RBAC roles
10
hierarchical RBAC roles
tabs in each project file
19
tabs in each project file
automated API tests
172
automated API tests
languages (incl. RTL)
3
languages (incl. RTL)

Technologies

Problem

The association managed its members, projects, training courses and finances with scattered tools, with no single place to coordinate its teams or keep track of its activity.

Solution

A full-stack MERN platform. Frontend: React 19, React Router 7, Vite, Tailwind CSS, Bootstrap and Recharts. Backend: Node.js, Express, MongoDB/Mongoose and a REST API. Documents: PDFKit, Docxtemplater (Word templates), ExcelJS, LibreOffice conversion and QR codes. Security: JWT in cookies, bcrypt, Helmet, CORS, rate limiting, express-validator and mongo-sanitize. Deployment: Docker, docker-compose and Nginx.

My contribution

Designed and developed the whole platform: RBAC architecture and permission matrix, business modules, document generation (PDF, Word, Excel), security, automated tests and containerised deployment.

Results

The project is covered by 27 test suites and 172 automated API tests (Jest, Supertest), plus end-to-end tests with Playwright.

Features

  • Advanced access control: 10 hierarchical roles, deputies, contextual rights and a role × module permission matrix (read-write, read-only or no access) editable live
  • Project management: a complete 19-tab project file (activities, teams, committees, follow-up, budget, documents…)
  • Human resources: attendance and evaluations linked to projects, and a personal “My space” for each member
  • Training: trainers, sessions and participant evaluations
  • Finances: memberships, dues with multiple payments, invoicing and PDF receipts with a QR code verifiable online
  • Logistics: equipment inventory and equipment requests
  • Communication: notifications, invitations (accept, decline or justify), broadcasts with read receipts and automatic emails
  • Dashboards with statistics and charts (Recharts), an interactive map, and a multilingual public website (FR/AR/EN, Arabic in RTL)