143 lines
3.0 KiB
Markdown
143 lines
3.0 KiB
Markdown
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. |