Case studyMulti-tenant SaaS

SCM Sports Club Management SaaS

A multi-tenant SaaS that gives sports clubs one place to manage players, operations, billing, communications and reporting.

Overview

Sports clubs have to manage player records, daily operations, billing and member communication. SCM brings all of that into one platform.

Each club runs as its own tenant with separate users, roles and data, so the same product can serve many clubs safely.

What I worked on

  • Tenant isolation for each club's data, users and settings
  • Role-based access control (RBAC) for club staff
  • Player, operations, billing/finance and communications modules
  • Reporting and operational dashboards
  • REST APIs powering the Vue.js front end

Architecture

  1. ClientVue.jsClub dashboards
  2. APILaravel RESTTenant resolution + RBAC
  3. ModulesPlayers · Ops · BillingCommunications & reporting
  4. DataMySQL + RedisTenant-scoped data & cache
cross-cutting tenant isolation · role-based access · reporting

Tenant isolation and role-based access sit in the API layer, so every module (players, operations, billing, communications) follows the same rules.

Engineering highlights

Tenant isolation

Each club's players, finances and settings stay separate while sharing one codebase and deployment.

Role-based access

RBAC lets each club control who can view and change players, operations and finances.

Dashboards for decisions

Operational dashboards and reports give club managers a quick view of players, operations and finances.

Tech stack

Backend
  • Laravel
  • REST APIs
  • RBAC
  • Multi-tenancy
Frontend
  • Vue.js
Data
  • MySQL
  • Redis