LoL Tracker
Lien de l'application ici.
Conception
LoL Tracker est un projet personnel fait par passion, où j'ai voulu mêler ma passion du jeu vidéo avec mes compétences de développeurs.
Elle est partie de l'idée que je voulais m'améliorer dans le jeu League of Legends, pour cela, avoir les statistiques pour voir comment tu
performes est important. On peut déjà voir nos statistiques globales et filtrer par champion sur des sites comme op.gg et Porofessor,
mais j'ai voulu aller à un niveau au dessus et permettre de voir ses statistiques contre un champion spécifique, et même voir les matchups.
Fonctionnalités
- Recherche d'un joueur pour chaque serveur (EUW, NA, KR) afin de voir son historique de matchs (jusqu'à 20 matchs) en détail (Golds, items, runes, etc.)
- Dans cette même page de recherche de matchs, nous pouvons enregistrer les matchs que nous avons trouvé intéressants afin de pouvoir revoir les statistiques d'un match en particulier.
- Ensuite, nous pouvons annoter les parties (le début, le milieu, et la fin de la partie) afin de savoir ce qui a été bien, ce que nous voulons changer, etc...
- Créer un compte et lier son Riot ID afin de récupérer les statistiques de tous les matchs de la saison en cours.
- Voir en détail ses statistiques de la saison en cours avec différents filtres (moyenne sur toutes ses parties, par champion joué ou par position, face à quel adversaire). La spécifité étant que, si vous voulez voir un matchup particulier, par exemple Ekko vs Viktor, vous pouvez voir les statistiques de vous 2 et les comparer.
Mini-jeu
J'ai aussi mis en place un mini-jeu de type draft aléatoire où l'on tire aléatoirement un champion,
et où on choisit soit une de ses caractéristiques, soit un de ses sorts. Le but étant de créer un champion avec un kit exotique.
Technos
Back-end :
- PHP 8.4 et Symfony 8
- Doctrine et PostgreSQL : stockage des utilisateurs, des parties et des statistiques (items, runes, sorts, champions, parties)
- API Platform et JWT : API REST
- Symfony Messenger : traitement en arrière-plan de l'import des parties
Front-end :
- Twig, Turbo et Stimulus : Interface fluide sans recharger les pages et sans avoir à faire du front pur
- Webpack Encore : compilation du CSS et du JavaScript
Back-office :
- EasyAdmin : Gérer les utilisateurs
Données externes :
- API Riot Games et Data Dragon: Pour récupérer les parties, les statistiques des joueurs, des champions, des objets, et des runes.
Qualité et déploiement :
- PHPUnit, Foundry : tests automatiques.
- PHPStan, PHP-CS-Fixer : contrôle de la qualité du code.
- Docker : environnement de développement.
- GitLab CI/CD : Mise en place d'une CI pour vérifier la qualité du code avant de déployer.
- Nginx, Supervisor, OVH : hébergement sur mon propre serveur, avec HTTPS.
Architecture

Documentation
Vous pouvez voir la documentation qui explique en détail le fonctionnement du site ici
Vous pouvez voir le code source dans ce repo gitlab
Autres projets
Symfony
Developer Portal
Application interne que j'ai développé durant mon alternance chez HomeServe
Symfony 6
PHP 7.4
PostgreSQL
Docker
GitLab CI/CD
VueJs
Developer Dashboard
Petite application que j'ai développé pour apprendre les bases de VueJs, qui est un dashboard pour dev
VueJs
TypeScript
Vite