1
1
mirror of https://github.com/theoludwig/theoludwig.git synced 2025-09-11 23:09:22 +02:00

fix: update Curriculum Vitae

This commit is contained in:
2025-09-09 19:32:06 +02:00
parent 4502e32250
commit 92eca82127
3 changed files with 73 additions and 52 deletions

View File

@@ -41,6 +41,7 @@
"institution": "IUT Robert Schuman in Illkirch-Graffenstaden",
"study-type": "University Bachelor of Technology (BUT) Computer Science",
"years": {
"title": "2021 - 2024",
"2021-2022": {
"courses": {
"java": "Object Oriented Development in Java",
@@ -98,17 +99,17 @@
"tasks": {
"WebSurg": "Development of WebSurg, a virtual university dedicated to medical-surgical training, built with React.js/Next.js and API Platform with Symfony.",
"Figma": "Integration of Figma mockups for WebSurg, website dedicated to medical-surgical training.",
"IRCAD-Core": "IRCAD Core, an internal tool for managing medical training sessions and their requirements (anatomicals models, medications, staff training, etc.).",
"IRCAD-Core": "IRCAD Core, an internal tool for managing medical training sessions and their requirements (anatomical models, medications, staff training, etc.).",
"feature-logs": "History and traceability of data modifications (what? who? when?) in IRCAD Core.",
"feature-permissions": "Advanced permissions system and OAuth2 authentication, with read, write, and delete access restricted for specific users of the IRCAD Core application.",
"feature-search": "Search engine with filters, sorting, and customizable display for each user of IRCAD Core.",
"feature-architecture": "IRCAD Core project architecture in TypeScript Monorepo with Turborepo, and automatic deployment (CI/CD) with Docker Compose, self-hosted internally."
"feature-architecture": "IRCAD Core project architecture in TypeScript Monorepo with Turborepo, automatic deployment (CI/CD) and self-hosted internally with Docker Compose."
}
},
"numerize": {
"duration": "3 months",
"position": "Full Stack Web Developer Intern",
"summary": "Development of an DMS (Document Management System) tool in React.js, Laravel and GraphQL."
"summary": "Development of a DMS (Document Management System) tool in React.js, Laravel and GraphQL."
},
"title": "Work experiences"
}

View File

@@ -41,6 +41,7 @@
"institution": "IUT Robert Schuman à Illkirch-Graffenstaden",
"study-type": "Bachelor Universitaire de Technologie (BUT) Informatique",
"years": {
"title": "2021 - 2024",
"2021-2022": {
"courses": {
"java": "Développement Orientée Objet en Java",
@@ -102,7 +103,7 @@
"feature-logs": "Historique et traçabilité des modifications des données (quoi? qui? quand?) dans IRCAD Core.",
"feature-permissions": "Système de permissions avancé et authentification OAuth2, avec accès en lecture, écriture et suppression restreint pour des utilisateurs spécifiques de l'application IRCAD Core.",
"feature-search": "Moteur de recherche avec filtres, tris et ordre d'affichage personnalisable pour IRCAD Core.",
"feature-architecture": "Architecture du projet IRCAD Core en Monorepo TypeScript avec Turborepo, et déploiement automatique (CI/CD) avec Docker Compose, auto-hébergé en interne."
"feature-architecture": "Architecture du projet IRCAD Core en Monorepo TypeScript avec Turborepo, déploiement automatique (CI/CD) et hébergé en interne avec Docker Compose."
}
},
"numerize": {

View File

@@ -14,14 +14,46 @@ export const CurriculumVitaeEducation: React.FC<
years: t("curriculum-vitae.education.cnam.years.2024-2027.title"),
studyType: t("curriculum-vitae.education.cnam.study-type"),
institution: t("curriculum-vitae.education.cnam.institution"),
score: t("curriculum-vitae.education.cnam.years.2024-2027.description"),
// score: t("curriculum-vitae.education.cnam.years.2024-2027.description"),
courses: [],
},
{
years: t("curriculum-vitae.education.iut.years.2023-2024.title"),
years: t("curriculum-vitae.education.iut.years.title"),
studyType: t("curriculum-vitae.education.iut.study-type"),
institution: t("curriculum-vitae.education.iut.institution"),
score: t("curriculum-vitae.education.iut.years.2023-2024.description"),
courses: [
{
year: t("curriculum-vitae.education.iut.years.2021-2022.description"),
title: t("curriculum-vitae.education.iut.years.2021-2022.title"),
courses: [
t("curriculum-vitae.education.iut.years.2021-2022.courses.java"),
t(
"curriculum-vitae.education.iut.years.2021-2022.courses.systems-c",
),
// t(
// "curriculum-vitae.education.iut.years.2021-2022.courses.windows-forms",
// ),
t("curriculum-vitae.education.iut.years.2021-2022.courses.sql"),
],
},
{
year: t("curriculum-vitae.education.iut.years.2022-2023.description"),
title: t("curriculum-vitae.education.iut.years.2022-2023.title"),
courses: [
t("curriculum-vitae.education.iut.years.2022-2023.courses.web"),
t("curriculum-vitae.education.iut.years.2022-2023.courses.tests"),
t(
"curriculum-vitae.education.iut.years.2022-2023.courses.clean-code",
),
// t("curriculum-vitae.education.iut.years.2022-2023.courses.sql-security"),
t(
"curriculum-vitae.education.iut.years.2022-2023.courses.systems-c",
),
],
},
{
year: t("curriculum-vitae.education.iut.years.2023-2024.description"),
title: t("curriculum-vitae.education.iut.years.2023-2024.title"),
courses: [
t("curriculum-vitae.education.iut.years.2023-2024.courses.web"),
t("curriculum-vitae.education.iut.years.2023-2024.courses.ci-cd"),
@@ -31,33 +63,6 @@ export const CurriculumVitaeEducation: React.FC<
t("curriculum-vitae.education.iut.years.2023-2024.courses.no-sql"),
],
},
{
years: t("curriculum-vitae.education.iut.years.2022-2023.title"),
studyType: t("curriculum-vitae.education.iut.study-type"),
institution: t("curriculum-vitae.education.iut.institution"),
score: t("curriculum-vitae.education.iut.years.2022-2023.description"),
courses: [
t("curriculum-vitae.education.iut.years.2022-2023.courses.web"),
t("curriculum-vitae.education.iut.years.2022-2023.courses.tests"),
t("curriculum-vitae.education.iut.years.2022-2023.courses.clean-code"),
t("curriculum-vitae.education.iut.years.2022-2023.courses.systems-c"),
// t(
// "curriculum-vitae.education.iut.years.2022-2023.courses.sql-security",
// ),
],
},
{
years: t("curriculum-vitae.education.iut.years.2021-2022.title"),
studyType: t("curriculum-vitae.education.iut.study-type"),
institution: t("curriculum-vitae.education.iut.institution"),
score: t("curriculum-vitae.education.iut.years.2021-2022.description"),
courses: [
t("curriculum-vitae.education.iut.years.2021-2022.courses.java"),
t("curriculum-vitae.education.iut.years.2021-2022.courses.systems-c"),
// t(
// "curriculum-vitae.education.iut.years.2021-2022.courses.windows-forms",
// ),
t("curriculum-vitae.education.iut.years.2021-2022.courses.sql"),
],
},
// {
@@ -83,9 +88,13 @@ export const CurriculumVitaeEducation: React.FC<
<strong>{education.studyType}</strong>
</p>
{/* {education.score != null ? (
<p className="relative m-0">
<strong>{education.score}</strong>
</p>
) : (
<></>
)} */}
<p className="text-muted m-0">{education.institution}</p>
@@ -94,15 +103,25 @@ export const CurriculumVitaeEducation: React.FC<
</p>
{education.courses.length > 0 ? (
<ul className="list-none">
{education.courses.map(({ year, title, courses }) => {
return (
<li key={year}>
<span className="font-medium">{year}</span>
<span> ({title})</span>
<ul
style={{
paddingInlineStart: 20,
}}
>
{education.courses.map((course) => {
{courses.map((course) => {
return <li key={course}>{course}</li>
})}
</ul>
</li>
)
})}
</ul>
) : (
<></>
)}