Skip to content
gdt_
Back to work

C.D. Maspaoasis

A web platform that brings a football club's day-to-day operations together: members, bookings, payments, events, invoicing and competitions in a single system.

Year
Dec 2024 – May 2025
My role
Full-Stack Developer
Category
Sports management platform
cdmaspaoasis.com
C.D. Maspaoasis public site showing the services section

01Context

Professional project · sports club.

A web platform that brings a football club's day-to-day operations together: members, bookings, payments, events, invoicing and competitions in a single system.

02Problem

The club's operations were spread across manual processes and separate contexts: trainings, camps, tournaments and payments were handled in isolation, with no shared view.

03Goals

  • Bring member, service and competition management into one system.
  • Let families book and pay without going through staff.
  • Give the club control over invoicing and history.

04My contribution

  • Full-stack development of the platform: frontend, backend and database.
  • Admin panel and private member area.
  • Stripe payment integration and PDF invoice generation.
  • Tournament brackets and live result updates.

05Technical decisions

  1. AA PHP MVC architecture with separate controllers, models and views so each area of the club could grow on its own.
  2. BStripe for online payments instead of a custom gateway: a smaller risk surface and simpler reconciliation.
  3. CPHPUnit tests and a GitHub Actions pipeline that checks every change and only deploys tagged releases.
  4. DA Docker-based local environment so production could be reproduced on any machine.

06Solution

A modular platform with separate flows for administrators and members, online payments, automated invoicing, and competitions with knockout brackets and live results.

Key features

  • Training and camp bookings
  • Online payments and invoicing
  • Admin panel
  • Tournaments with brackets and live results
  • Members and dependants management

07Screenshots

Member panel to book and confirm a training slot
Platform management view
Full page of the club website

08Stack

  • PHP
  • JavaScript
  • MySQL
  • Tailwind CSS
  • Stripe
  • Docker
  • GitHub Actions
  • PHPUnit

09What I learned

  • A system with many audiences (families, coaches, staff) is designed starting from flows, not screens.
  • Automating tests and deployment early makes maintaining the platform far calmer.