Une application web interactive pour explorer et analyser les messages de commit les plus drôles de vos projets GitHub. Découvrez les commits qui méritent des récompenses pour leur humour !
- 🎯 Classification automatique : Analyse les commits pour détecter ceux qui sont drôles vs sérieux
- 🏅 Système d'awards : Récompenses pour les commits les plus créatifs
- 📊 Statistiques détaillées : Visualisation des données de vos commits
- 🌙 Interface moderne : Design sombre élégant et responsive
- 📁 Import JSON : Importez facilement vos données de commits GitHub
- ⭐ Système de favoris : Marquez vos commits préférés
- 🔍 Recherche et filtres : Trouvez rapidement les commits qui vous intéressent
- Node.js (version 16 ou supérieure)
- npm ou yarn
-
Clonez le repository
git clone <votre-repo-url> cd commit-awards-web
-
Installez les dépendances
npm install
-
Lancez le serveur de développement
npm run dev
-
Ouvrez votre navigateur
http://localhost:5173
L'application accepte deux fichiers JSON avec les structures suivantes :
json avec auteur et committer (a droite dans la page d'import):
[
{
"sha": "c8a64cd03c404e9260612ef51cfe5a5e82ab71fe",
"repo": {
"org": "exam-2025-07-11",
"name": "xxxxxx_c-piscine-exam-00_exam_17h24m53s",
"full_name": "exam-2025-07-11/xwenger_c-piscine-exam-00_exam_17h24m53s"
},
"author": {
"name": "Exam 42",
"email": "exam-no-reply@42.fr",
"date": "2099-07-11T17:59:36+02:00"
},
"committer": {
"name": "Exam 42",
"email": "exam-no-reply@42.fr",
"date": "2099-07-11T17:59:36+02:00"
},
"message": "exemple"
}
]json avec prediction et message (a gauche dans la page d'import) :
[
{
"sha": "78b545ce7f3d2435e59f1c15d41d2a940452cb16",
"is_funny": false,
"message": "toto",
"probability": 0.02
}
]nom du fichier avec les predictions : exam-2025-07-classified.json
L'application extrait automatiquement le nom d'utilisateur à partir du champ repo.name (format utilisateur/projet). Si author.name est différent du nom d'utilisateur extrait, il sera automatiquement remplacé pour assurer la cohérence.
- Accédez à la page d'import : Cliquez sur "Importer" dans la navigation
- Glissez-déposez votre fichier JSON ou cliquez pour le sélectionner
- Vérifiez l'aperçu des données importées
- Confirmez l'import pour ajouter les commits à votre collection
npm run dev: Lance le serveur de développementnpm run build: Construit l'application pour la productionnpm run preview: Prévisualise la version de productionnpm run lint: Vérifie la qualité du code avec ESLint
- React 18 : Framework frontend
- Vite : Outil de build rapide
- Tailwind CSS : Framework CSS utilitaire
- Heroicons : Icônes SVG
- React Router : Navigation côté client
commit-awards-web/
├── src/
│ ├── components/ # Composants React réutilisables
│ │ ├── CommitAwards.js
│ │ ├── CommitCard.js
│ │ ├── CommitList.js
│ │ ├── DataImporter.js
│ │ └── Header.js
│ ├── context/ # Contextes React (gestion d'état)
│ │ └── CommitContext.js
│ ├── App.js # Composant principal de l'application
│ ├── index.js # Point d'entrée de l'application
│ └── index.css # Styles globaux
├── public/ # Fichiers statiques
│ └── index.html
├── exam-2025-07-classified.json # Fichier de données d'exemple
├── package.json # Configuration du projet
├── tailwind.config.js # Configuration Tailwind CSS
└── postcss.config.js # Configuration PostCSS
L'application utilise Tailwind CSS pour le styling. Vous pouvez personnaliser les couleurs et thèmes en modifiant le fichier tailwind.config.js.
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
Amusez-vous bien à explorer vos commits ! 🎉