Skip to main content
SportIQ

SportIQ — SaaS Platform for Sports Federations

The SaaS platform that digitalizes sports federation management

Design, development & deployment

Angular Node.js Express MySQL JWT Microservices
6
Integrated modules
60+
Database tables
5
Roles per federation

The challenge

Moroccan and French-speaking sports federations historically ran licensing, competitions, and finances through paper processes and disconnected tools — spreadsheets, physical registers, and email threads — with no centralized view per federation, league, or club. Tracking player transfers, issuing license cards, and reporting competition results depended on time-consuming, error-prone manual coordination. Saad was tasked with designing a single platform capable of digitalizing a sports federation's entire operational lifecycle, starting from the real-world case of FRMTT (the Moroccan table-tennis federation) and generalizing it into a SaaS product usable by any federation.

The solution

Saad built SportIQ, a multi-tenant SaaS platform covering a sports federation's entire operation across six integrated modules:

  • Federation management — clubs, leagues, disciplines
  • Licences & transfers — online applications, multi-step validation workflow, physical card issuance
  • Competitions & matches — brackets, live scores, standings
  • Training & certifications — courses, exams, digital certificates
  • Marketing & website — an auto-generated public website per federation
  • Finance & treasury — club account balances, bank reconciliation, budgeting

The results

The result is a multi-tenant platform genuinely running in production on a dedicated domain (sportiq.ma), with an automated CI/CD pipeline (GitHub Actions building and deploying over SSH on every push to the production branch). All six functional modules work end-to-end, from onboarding a federation to issuing a numbered license. The federation-scoped isolation architecture, the per-tenant sequential ID system, and the HMAC-secured file microservice form a solid technical foundation, built to host multiple federations without any risk of cross-tenant data leakage.

Methodology and project management

Saad grew SportIQ out of one concrete, real need: digitalizing FRMTT. This use-case-first approach let him validate each module — licensing, competitions, finance — before generalizing the data model to natively support multiple federations. Development followed an iterative, per-backend logic — public showcase site, licensing backoffice, per-federation CMS, file microservice — each shipped and deployed independently, yet sharing one MySQL database and the same federation-scoped isolation rules, keeping the whole platform technically consistent end-to-end.

Technical architecture and performance

Every backend (showcase site, licensing, CMS, files) queries the same MySQL 8 database, but no query ever runs without being scoped by the federation_id read exclusively from the authenticated JWT — never from the request body or URL — a non-negotiable rule enforced across the whole platform. Over 60 tables pair an auto-increment technical ID (never exposed) with a per-federation sequential public ID, generated via a database trigger and a shared stored function. Access control relies on 5 roles per federation with per-user permission overrides, computed into a flat permission set at login. File storage is isolated in a microservice reachable only via HMAC-signed requests.

Delivery Risk Audit

Common questions about this kind of engagement

Have a similar project?

Get in touch to discuss it.

Chat on WhatsApp