All projects

Mobile, desktop & console

Football Tournament Manager · C++20

A C++20 console application that runs a football tournament, from team registration to final rankings, with enforced business rules.

  • Individual project
domain classes
5
phases: groups and knockouts
2
with CMake and the STL
C++20

01Starting point

Context & mission

The problem

A tournament means many rules: capacity, minimum squads, phases, points, rankings. In C++, you also manage memory yourself.

The mission

Model a full tournament as objects, with enforced rules and a controlled object lifecycle.

My role

Designed and built on my own.

02Execution

What I did

  1. Object model

    Five classes (Tournoi, Equipe, Arbitre, Terrain, Match), with declarations and implementations kept separate.

  2. Tournament resources

    Registering and searching teams (id, name, city, score, ranking), referees by code and venues (city, owner, capacity).

  3. Matches and phases

    Group stages then knockout rounds, recorded scores, awarded points and automatically recalculated rankings.

  4. Rules and memory

    Minimum squad size and prerequisites checked before kickoff; explicit allocation and release of match memory.

03Design

Architecture

The Tournoi class coordinates everything: configuration, participants, matches and rankings, driven from a console menu. Built with CMake.

How a tournament runs
  1. SetupName · date · capacity
  2. RegistrationTeams · referees · venues
  3. Group stage
  4. Knockout rounds
  5. RankingsAuto-recalculated

04Impact

Results

  • A full tournament run start to finish from the console.
  • Business rules checked before each step.

05Wrap-up

Takeaways

What this project proves

Encapsulation, data structures and object lifecycles, with no garbage collector to catch mistakes.

06Technology

Full stack

  • C++20
  • CMake
  • STL
  • OOP