Football Stats API Description Football Stats API est une application desktop développée avec Electron permettant de gérer des données liées au football. Elle permet d'administrer des joueurs, des équipes, des tournois et de suivre leurs statistiques respectives. Les données sont stockées localement grâce au localStorage, ce qui permet de conserver les informations même après la fermeture de l’application. Technologies utilisées HTML / CSS JavaScript Electron (Framework pour application desktop) localStorage (Stockage local navigateur) JSON (Format d'échange de données) Architecture du projet Frontend L’interface utilisateur permet de : Afficher et filtrer les joueurs. Gérer les compositions d'équipes. Créer et configurer des tournois. Modifier les statistiques en temps réel. Logique (Backend local) La logique est entièrement gérée en JavaScript : Gestion du CRUD (Create, Read, Update, Delete) pour les entités. Synchronisation des données avec le stockage. Mise à jour dynamique de l’interface (Manipulation du DOM). Gestion des joueurs Fonctionnalités Ajouter un joueur. Supprimer un joueur. Modifier les statistiques individuelles (buts, passes, fautes). Structure d’un joueur JSON { "id": 0, "name": "", "goals": 0, "assists": 0, "fouls": 0 } Gestion des équipes Fonctionnalités Créer une équipe. Ajouter des joueurs à une équipe. Retirer des joueurs d'une équipe. Supprimer une équipe. Structure d’une équipe JSON { "id": 0, "name": "", "players": [] } Gestion des tournois Fonctionnalités Créer un tournoi. Ajouter des équipes participantes. Générer et gérer des matchs. Afficher les résultats et classements. Structure d’un tournoi JSON { "id": 0, "name": "", "teams": [], "matches": [] } Structure d’un match JSON { "team1": 0, "team2": 0, "score1": 0, "score2": 0 } Stockage des données Le cycle de vie des données repose sur le localStorage : Sérialisation : Conversion des objets JS en chaîne JSON. Sauvegarde : Stockage persistant dans le moteur de recherche intégré. Récupération : Rechargement automatique des données au lancement de l'application. Lancement du projet Installation npm install Lancement npm start Fonctionnement global L’utilisateur interagit avec l’interface. Les fonctions JavaScript sont exécutées. Les données sont mises à jour dans des tableaux d'objets. Les données sont sauvegardées dans le localStorage. L’interface est mise à jour automatiquement pour refléter les changements. Répartition du projet Frontend : Juba Backend (Logique JavaScript) : Malik Remarque Le projet ne repose pas sur une API serveur distante. Il simule un backend via la logique JavaScript et le stockage local. Améliorations possibles Intégration d'une base de données réelle (MongoDB / Firebase). Développement d'une API REST avec Node.js. Système d'authentification utilisateur. Statistiques avancées avec des graphiques dynamiques.