feat: Add GitHubStatsSection component for displaying GitHub statistics

This commit is contained in:
Félix MARQUET
2025-08-28 12:32:20 +00:00
parent 810362173b
commit a80d9ba72c
13 changed files with 767 additions and 480 deletions

BIN
public/V5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 253 KiB

View File

@@ -1,59 +1,102 @@
{
"about.title": "About me",
"about.description": "I am a fourth-year student at ISEN Nantes, currently in a work-study program at Horoquartz. I am passionate about computer science. I learned to code on my own and am currently learning Rust and Go. I am also passionate about electronics and hardware. I have a homelab consisting of 3 servers: a DELL T320, a DELL T330, and a Dell Precision T3610, all running Proxmox.",
"card.title": "Fourth year student at ISEN Nantes in work-study program at Horoquartz",
"projects.title": "My projects",
"projects.Front end starter.description": "My personal starter for front end projects",
"projects.Project C - ISEN CIR 1.description": "End of 1st year project at ISEN Nantes",
"projects.Projet robot.description": "Robot project with the Modelec ISEN club for the French robotics cup (Development and deployment on Raspberry Pi)",
"projects.MercuryCloud.description": "Game server and VPS hosting project. Technical support position, administrator of VPS, Game and web services.",
"projects.Projet C++ - ISEN CIR 2.description": "End of 4th semester project at ISEN Nantes. Creation of a Tower Defense type game in C++ with the QT6 library.",
"projects.Github NTFY.description": "Notification project for github and dockerhub releases that sends notifications on ntfy, gotify and discord.",
"projects.Projet C++ - ISEN CIPA 3.description": "Fish school behavior simulation game project in C++ with the SLD2 library, with multiplayer support.",
"projects.Alternance Horoquartz.description": "Development of an update system for Horoquartz products.",
"cv.title": "My resume",
"cv.path": "/CV-Felix-MARQUET-English.pdf",
"nav.about": "About me",
"nav.projects": "My projects",
"nav.cv": "My resume",
"skills.beginner": "Beginner",
"skills.intermediate": "Intermediate",
"skills.expert": "Expert",
"skills.examples.C.title": "C Projects",
"skills.examples.C.description": "End-of-first-year project at ISEN, basic algorithms, creation of a REST API.",
"skills.examples.C++.title": "C++ Projects",
"skills.examples.C++.description": "Tower Defense in Qt6, fish school simulation with SDL2 featuring multiplayer support, basic algorithms.",
"skills.examples.Admin Système.title": "System Administration",
"skills.examples.Admin Système.description": "Configuration of 3 DELL servers under Proxmox, virtualization, maintenance of virtual machines, deployment of applications in Azure.",
"skills.examples.Python.title": "Python Projects",
"skills.examples.Python.description": "GitHub NTFY for GitHub and DockerHub release notifications, course projects.",
"skills.examples.PHP.title": "PHP Projects",
"skills.examples.PHP.description": "Web development with PHP, AJAX, PostgreSQL.",
"skills.examples.HTML/CSS.title": "Front-end development",
"skills.examples.HTML/CSS.description": "Custom front-end starter, base project, various web projects.",
"skills.examples.JS/TS.title": "JavaScript/TypeScript",
"skills.examples.JS/TS.description": "React development, this portfolio, NodeJS API with Express, creation of the Studysen mobile application with React Native, professional projects.",
"skills.examples.Linux.title": "Linux Administration",
"skills.examples.Linux.description": "Server configuration, system administration, Ansible playbooks.",
"skills.examples.Go.title": "Go Projects",
"skills.examples.Go.description": "Introduction to the language, creation of a REST API with Fiber, Go Gin, and the standard library, professional projects.",
"skills.examples.Docker.title": "Containerization",
"skills.examples.Docker.description": "Container deployment, Docker Compose configuration, image creation, high-availability service deployment via Swarm and Kubernetes.",
"skills.examples.Rust.title": "Rust Projects",
"skills.examples.Rust.description": "Learning the language, creation of a REST API with Ntex, rewrite of the GitHub NTFY API in Rust.",
"skills.examples.React.title": "React Development",
"skills.examples.React.description": "This portfolio, Modelec website, Studysen mobile application, professional projects.",
"contact.title": "Contact",
"contact.subtitle": "A question? A project? Feel free to contact me!",
"contact.info.title": "Contact information",
"contact.info.email": "Email",
"contact.info.status": "Status",
"contact.info.statusValue": "ISEN student - Work-study at Horoquartz",
"contact.info.response": "Response",
"contact.info.responseValue": "Usually within 24h",
"contact.subjects.title": "Topics of interest",
"contact.subjects.list": [
"about": {
"title": "About me",
"description": "I am a fourth-year student at ISEN Nantes, currently in a work-study program at Horoquartz. I am passionate about computer science. I learned to code on my own and am currently learning Rust and Go. I am also passionate about electronics and hardware. I have a homelab consisting of 3 servers: a DELL T320, a DELL T330, and a Dell Precision T3610, all running Proxmox."
},
"card": {
"title": "Fourth year student at ISEN Nantes in work-study program at Horoquartz"
},
"projects": {
"title": "My projects",
"Front end starter.description": "My personal starter for front end projects",
"Project C - ISEN CIR 1.description": "End of 1st year project at ISEN Nantes",
"Projet robot.description": "Robot project with the Modelec ISEN club for the French robotics cup (Development and deployment on Raspberry Pi)",
"MercuryCloud.description": "Game server and VPS hosting project. Technical support position, administrator of VPS, Game and web services.",
"Projet C++ - ISEN CIR 2.description": "End of 4th semester project at ISEN Nantes. Creation of a Tower Defense type game in C++ with the QT6 library.",
"Github NTFY.description": "Notification project for github and dockerhub releases that sends notifications on ntfy, gotify and discord.",
"Projet C++ - ISEN CIPA 3.description": "Fish school behavior simulation game project in C++ with the SLD2 library, with multiplayer support.",
"Alternance Horoquartz.description": "Development of an update system for Horoquartz products."
},
"cv": {
"title": "My resume",
"path": "/CV-Felix-MARQUET-English.pdf"
},
"nav": {
"about": "About me",
"projects": "My projects",
"cv": "My resume",
"contact": "Contact",
"experience": "Experience",
"github": "GitHub"
},
"skills": {
"beginner": "Beginner",
"intermediate": "Intermediate",
"expert": "Expert",
"examples": {
"C": {
"title": "C Projects",
"description": "End-of-first-year project at ISEN, basic algorithms, creation of a REST API."
},
"C++": {
"title": "C++ Projects",
"description": "Tower Defense in Qt6, fish school simulation with SDL2 featuring multiplayer support, basic algorithms."
},
"Admin Système": {
"title": "System Administration",
"description": "Configuration of 3 DELL servers under Proxmox, virtualization, maintenance of virtual machines, deployment of applications in Azure."
},
"Python": {
"title": "Python Projects",
"description": "GitHub NTFY for GitHub and DockerHub release notifications, course projects."
},
"PHP": {
"title": "PHP Projects",
"description": "Web development with PHP, AJAX, PostgreSQL."
},
"HTML/CSS": {
"title": "Front-end development",
"description": "Custom front-end starter, base project, various web projects."
},
"JS/TS": {
"title": "JavaScript/TypeScript",
"description": "React development, this portfolio, NodeJS API with Express, creation of the Studysen mobile application with React Native, professional projects."
},
"Linux": {
"title": "Linux Administration",
"description": "Server configuration, system administration, Ansible playbooks."
},
"Go": {
"title": "Go Projects",
"description": "Introduction to the language, creation of a REST API with Fiber, Go Gin, and the standard library, professional projects."
},
"Docker": {
"title": "Containerization",
"description": "Container deployment, Docker Compose configuration, image creation, high-availability service deployment via Swarm and Kubernetes."
},
"Rust": {
"title": "Rust Projects",
"description": "Learning the language, creation of a REST API with Ntex, rewrite of the GitHub NTFY API in Rust."
},
"React": {
"title": "React Development",
"description": "This portfolio, Modelec website, Studysen mobile application, professional projects."
}
}
},
"contact": {
"title": "Contact",
"subtitle": "A question? A project? Feel free to contact me!",
"info": {
"title": "Contact information",
"email": "Email",
"status": "Status",
"statusValue": "ISEN student - Work-study at Horoquartz",
"response": "Response",
"responseValue": "Usually within 24h"
},
"subjects.title": "Topics of interest",
"subjects.list": [
"Web Development",
"System Administration",
"DevOps",
@@ -63,19 +106,20 @@
"Collaboration",
"Internship/Job"
],
"contact.form.title": "Send me a message",
"contact.form.name": "Full name",
"contact.form.namePlaceholder": "Your name",
"contact.form.email": "Email",
"contact.form.emailPlaceholder": "your.email@example.com",
"contact.form.subject": "Subject",
"contact.form.subjectPlaceholder": "Subject of your message",
"contact.form.message": "Message",
"contact.form.messagePlaceholder": "Your message...",
"contact.form.send": "Send message",
"contact.form.sending": "Sending...",
"contact.form.success": "Message sent successfully! I will reply as soon as possible.",
"contact.form.error": "An error occurred. Please try again later.",
"form.title": "Send me a message",
"form.name": "Full name",
"form.namePlaceholder": "Your name",
"form.email": "Email",
"form.emailPlaceholder": "your.email@example.com",
"form.subject": "Subject",
"form.subjectPlaceholder": "Subject of your message",
"form.message": "Message",
"form.messagePlaceholder": "Your message...",
"form.send": "Send message",
"form.sending": "Sending...",
"form.success": "Message sent successfully! I will reply as soon as possible.",
"form.error": "An error occurred. Please try again later."
},
"experience": {
"title": "Career & Experience",
"description": "My professional and academic journey",
@@ -144,5 +188,16 @@
"technologies": ["C++", "QT", "Raspberry Pi", "Linux"]
}
]
},
"github": {
"title": "GitHub Stats",
"description": "An overview of my activity and contributions on GitHub",
"stars": "Stars",
"forks": "Forks",
"commits": "Commits",
"languages": "Most used languages",
"legend": "Contribution calendar",
"totalCommits": "Total commits",
"activity": "Recent activity"
}
}

View File

@@ -1,80 +1,125 @@
{
"about.title": "A propos de moi",
"about.description": "Je suis étudiant en 4e année à l'ISEN Nantes en alternance chez Horoquartz. Je suis passionné par l'informatique. J'ai appris à coder en autodidacte et je suis actuellement en train d'apprendre le Rust et le Go. Je suis également passionné par l'électronique et le hardware. Je possède un homelab composé de 3 serveur, un DELL T320, un DELL T330 et un Dell Precision T3610 les 3 sous proxmox.",
"card.title": "Etudiant en 4e année a l'ISEN Nantes en alternance chez Horoquartz",
"projects.title": "Mes projets",
"projects.Front end starter.description": "Mon starter personnel pour projet front end",
"projects.Project C - ISEN CIR 1.description": "Projet de fin de 1ere année à l'ISEN Nantes",
"projects.Projet robot.description": "Projet de robot avec le club Modelec ISEN pour la coupe de france de robotique (Developpement et déploiment sur Raspberry Pi)",
"projects.MercuryCloud.description": "Projet d'herbergeur de serveur de jeu et VPS. Poste de support technique, administrateur des service VPS, Game et web.",
"projects.Projet C++ - ISEN CIR 2.description": "Projet de fin de 4e semestre à l'ISEN Nantes. Création d'un jeu de type Tower Defense en C++ avec la librairie QT6.",
"projects.Github NTFY.description": "Projet de notification pour les releases github et dockerhub qui envoie des notifications sur ntfy, gotify et discord.",
"projects.Projet C++ - ISEN CIPA 3.description": "Projet de jeu de simulation de comportement de banc de poisson en C++ avec la librairie SLD2, avec support du multijoueur.",
"projects.Alternance Horoquartz.description": "Développement d'un système de mise à jour pour les produits Horoquartz.",
"cv.title": "Mon CV",
"cv.path": "/CV-Felix-MARQUET.pdf",
"nav.about": "A propos de moi",
"nav.projects": "Mes projets",
"nav.cv": "Mon CV",
"skills.beginner": "Débutant",
"skills.intermediate": "Intermédiaire",
"skills.expert": "Expert",
"skills.examples.C.title": "Projets C",
"skills.examples.C.description": "Projet de fin de 1ère année à l'ISEN, algorithmes de base, création d'une api REST",
"skills.examples.C++.title": "Projets C++",
"skills.examples.C++.description": "Tower Defense en Qt6, simulation de banc de poissons avec SDL2 avec support du multijoueur, algorithmes de base",
"skills.examples.Admin Système.title": "Administration Système",
"skills.examples.Admin Système.description": "Configuration de 3 serveurs DELL sous Proxmox, virtualisation, maintenance des machines virtuelles, deploiement d'applications dans Azure",
"skills.examples.Python.title": "Projets Python",
"skills.examples.Python.description": "Github NTFY pour les notifications des releases github et dockerhub, projets de cours",
"skills.examples.PHP.title": "Projets PHP",
"skills.examples.PHP.description": "Développements web avec PHP, AJAX, postgreSQL",
"skills.examples.HTML/CSS.title": "Développement Front-end",
"skills.examples.HTML/CSS.description": "Front-end starter personnalisé, projet de base, divers projets web",
"skills.examples.JS/TS.title": "JavaScript/TypeScript",
"skills.examples.JS/TS.description": "Développement React, ce portfolio, api NodeJS avec Express, Création d'une application mobile Studysen avec React Native, projets professionnels",
"skills.examples.Linux.title": "Administration Linux",
"skills.examples.Linux.description": "Configuration de serveurs, administration système, Ansible playbooks",
"skills.examples.Go.title": "Projets Go",
"skills.examples.Go.description": "Initiation au langage, Création d'une api REST avec Fiber, Go Gin et la librairie standard, projets professionnels",
"skills.examples.Docker.title": "Containerisation",
"skills.examples.Docker.description": "Déploiement de conteneurs, configuration Docker Compose, création d'images, déploiement de services en haute disponibilité via Swarm et Kubernetes",
"contact.title": "Contact",
"contact.subtitle": "Une question ? Un projet ? N'hésitez pas à me contacter !",
"contact.info.title": "Informations de contact",
"contact.info.email": "Email",
"contact.info.status": "Statut",
"contact.info.statusValue": "Étudiant ISEN - Alternant chez Horoquartz",
"contact.info.response": "Réponse",
"contact.info.responseValue": "Généralement sous 24h",
"contact.subjects.title": "Sujets d'intérêt",
"contact.subjects.list": [
"Développement Web",
"Administration Système",
"DevOps",
"Alternance",
"Projets Open Source",
"Homelab",
"Collaboration",
"Stage/Emploi"
],
"contact.form.title": "Envoyez-moi un message",
"contact.form.name": "Nom complet",
"contact.form.namePlaceholder": "Votre nom",
"contact.form.email": "Email",
"contact.form.emailPlaceholder": "votre.email@exemple.com",
"contact.form.subject": "Sujet",
"contact.form.subjectPlaceholder": "Objet de votre message",
"contact.form.message": "Message",
"contact.form.messagePlaceholder": "Votre message...",
"contact.form.send": "Envoyer le message",
"contact.form.sending": "Envoi en cours...",
"contact.form.success": "Message envoyé avec succès ! Je vous répondrai dans les plus brefs délais.",
"contact.form.error": "Une erreur est survenue. Veuillez réessayer plus tard.",
"skills.examples.Rust.title": "Projets Rust",
"skills.examples.Rust.description": "Apprentissage du langage, création d'une api REST avec Ntex, récriture de l'api github NTFY en Rust",
"skills.examples.React.title": "Développement React",
"skills.examples.React.description": "Ce portfolio, site web de Modelec, application mobile Studysen, projets professionnels",
"about": {
"title": "A propos de moi",
"description": "Je suis étudiant en 4e année à l'ISEN Nantes en alternance chez Horoquartz. Je suis passionné par l'informatique. J'ai appris à coder en autodidacte et je suis actuellement en train d'apprendre le Rust et le Go. Je suis également passionné par l'électronique et le hardware. Je possède un homelab composé de 3 serveur, un DELL T320, un DELL T330 et un Dell Precision T3610 les 3 sous proxmox."
},
"card": {
"title": "Etudiant en 4e année a l'ISEN Nantes en alternance chez Horoquartz"
},
"projects": {
"title": "Mes projets",
"Front end starter.description": "Mon starter personnel pour projet front end",
"Project C - ISEN CIR 1.description": "Projet de fin de 1ere année à l'ISEN Nantes",
"Projet robot.description": "Projet de robot avec le club Modelec ISEN pour la coupe de france de robotique (Developpement et déploiment sur Raspberry Pi)",
"MercuryCloud.description": "Projet d'herbergeur de serveur de jeu et VPS. Poste de support technique, administrateur des service VPS, Game et web.",
"Projet C++ - ISEN CIR 2.description": "Projet de fin de 4e semestre à l'ISEN Nantes. Création d'un jeu de type Tower Defense en C++ avec la librairie QT6.",
"Github NTFY.description": "Projet de notification pour les releases github et dockerhub qui envoie des notifications sur ntfy, gotify et discord.",
"Projet C++ - ISEN CIPA 3.description": "Projet de jeu de simulation de comportement de banc de poisson en C++ avec la librairie SLD2, avec support du multijoueur.",
"Alternance Horoquartz.description": "Développement d'un système de mise à jour pour les produits Horoquartz."
},
"cv": {
"title": "Mon CV",
"path": "/CV-Felix-MARQUET.pdf"
},
"nav": {
"about": "A propos de moi",
"projects": "Mes projets",
"cv": "Mon CV",
"contact": "Contact",
"experience": "Expérience",
"github": "GitHub"
},
"skills": {
"beginner": "Débutant",
"intermediate": "Intermédiaire",
"expert": "Expert",
"examples": {
"C": {
"title": "Projets C",
"description": "Projet de fin de 1ère année à l'ISEN, algorithmes de base, création d'une api REST"
},
"C++": {
"title": "Projets C++",
"description": "Tower Defense en Qt6, simulation de banc de poissons avec SDL2 avec support du multijoueur, algorithmes de base"
},
"Admin Système": {
"title": "Administration Système",
"description": "Configuration de 3 serveurs DELL sous Proxmox, virtualisation, maintenance des machines virtuelles, deploiement d'applications dans Azure"
},
"Python": {
"title": "Projets Python",
"description": "Github NTFY pour les notifications des releases github et dockerhub, projets de cours"
},
"PHP": {
"title": "Projets PHP",
"description": "Développements web avec PHP, AJAX, postgreSQL"
},
"HTML/CSS": {
"title": "Développement Front-end",
"description": "Front-end starter personnalisé, projet de base, divers projets web"
},
"JS/TS": {
"title": "JavaScript/TypeScript",
"description": "Développement React, ce portfolio, api NodeJS avec Express, Création d'une application mobile Studysen avec React Native, projets professionnels"
},
"Linux": {
"title": "Administration Linux",
"description": "Configuration de serveurs, administration système, Ansible playbooks"
},
"Go": {
"title": "Projets Go",
"description": "Initiation au langage, Création d'une api REST avec Fiber, Go Gin et la librairie standard, projets professionnels"
},
"Docker": {
"title": "Containerisation",
"description": "Déploiement de conteneurs, configuration Docker Compose, création d'images, déploiement de services en haute disponibilité via Swarm et Kubernetes"
},
"Rust": {
"title": "Projets Rust",
"description": "Apprentissage du langage, création d'une api REST avec Ntex, récriture de l'api github NTFY en Rust"
},
"React": {
"title": "Développement React",
"description": "Ce portfolio, site web de Modelec, application mobile Studysen, projets professionnels"
}
}
},
"contact": {
"title": "Contact",
"subtitle": "Une question ? Un projet ? N'hésitez pas à me contacter !",
"info": {
"title": "Informations de contact",
"email": "Email",
"status": "Statut",
"statusValue": "Étudiant ISEN - Alternant chez Horoquartz",
"response": "Réponse",
"responseValue": "Généralement sous 24h"
},
"subjects.title": "Sujets d'intérêt",
"subjects.list": [
"Développement Web",
"Administration Système",
"DevOps",
"Alternance",
"Projets Open Source",
"Homelab",
"Collaboration",
"Stage/Emploi"
],
"form.title": "Envoyez-moi un message",
"form.name": "Nom complet",
"form.namePlaceholder": "Votre nom",
"form.email": "Email",
"form.emailPlaceholder": "votre.email@exemple.com",
"form.subject": "Sujet",
"form.subjectPlaceholder": "Objet de votre message",
"form.message": "Message",
"form.messagePlaceholder": "Votre message...",
"form.send": "Envoyer le message",
"form.sending": "Envoi en cours...",
"form.success": "Message envoyé avec succès ! Je vous répondrai dans les plus brefs délais.",
"form.error": "Une erreur est survenue. Veuillez réessayer plus tard."
},
"experience": {
"title": "Parcours & Expérience",
"description": "Mon évolution professionnelle et académique",
@@ -143,5 +188,16 @@
"technologies": ["C++", "QT", "Raspberry Pi", "Linux"]
}
]
},
"github": {
"title": "Statistiques GitHub",
"description": "Un aperçu de mon activité et de mes contributions sur GitHub",
"stars": "Étoiles",
"forks": "Forks",
"commits": "Commits",
"languages": "Langages les plus utilisés",
"legend": "Calendrier des contributions",
"totalCommits": "Total des commits",
"activity": "Activité récente"
}
}