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
Object model
Five classes (Tournoi, Equipe, Arbitre, Terrain, Match), with declarations and implementations kept separate.
Tournament resources
Registering and searching teams (id, name, city, score, ranking), referees by code and venues (city, owner, capacity).
Matches and phases
Group stages then knockout rounds, recorded scores, awarded points and automatically recalculated rankings.
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.
- SetupName · date · capacity
- RegistrationTeams · referees · venues
- Group stage
- Knockout rounds
- 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 provesEncapsulation, data structures and object lifecycles, with no garbage collector to catch mistakes.
06Technology
Full stack
- C++20
- CMake
- STL
- OOP