diff --git a/Dockerfile b/Dockerfile index 1525f93..1c253f5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,20 +1,21 @@ -FROM rust:1.80.1 AS dioxus +FROM rust:1.84.0 AS dioxus RUN cargo install dioxus-cli@^0.6 FROM dioxus AS builder WORKDIR /athome/ -RUN apt-get update && apt-get install nodejs npm libssl-dev musl-tools -y && rm -rf /var/lib/apt/lists/* +RUN apt-get update && apt install libwebkit2gtk-4.1-dev build-essential curl npm \ + wget file libxdo-dev libssl-dev libayatana-appindicator3-dev librsvg2-dev -y\ + && rm -rf /var/lib/apt/lists/* RUN npm install -D tailwindcss +COPY ./Cargo.toml ./Cargo.toml +COPY ./Dioxus.toml ./Dioxus.toml +COPY ./input.css ./input.css +COPY ./tailwind.config.js ./tailwind.config.js COPY ./src/ ./src/ COPY ./assets/ ./assets/ -COPY ./Cargo.toml ./Cargo.toml -COPY ./input.css ./input.css -COPY ./Dioxus.toml ./Dioxus.toml -COPY ./tailwind.config.js ./tailwind.config.js -RUN npx tailwindcss -i ./input.css -o ./assets/tailwind.css -RUN dx build --platform web --release +RUN dx bundle --platform web FROM dioxus AS runner WORKDIR /app/ -COPY --from=builder /athome/docs/ ./docs/ -CMD [ "./docs/athome" ] +COPY --from=builder /athome/target/dx/athome/release/web/ ./ +CMD [ "./server" ] diff --git a/README.md b/README.md index b1cf2a6..4773def 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ npx tailwindcss -i ./input.css -o ./assets/tailwind.css --watch ``` ```sh - dx serve --platform fullstack + dx serve --platform web ``` ## Screenshot diff --git a/src/cv.rs b/src/cv.rs index 6121867..93bbbae 100644 --- a/src/cv.rs +++ b/src/cv.rs @@ -46,6 +46,10 @@ fn WorkExperience() -> Element { H4 { { t!("cv_workexperience_title") } }, ol { class:"relative border-s border-gray-200 dark:border-gray-700", + CVEntry {time: t!("cv_workexperience_dd_devops_time"), title: t!("cv_workexperience_dd_devops_title"), + technologies: vec!["Kubenertes".to_string(), "Ansible".to_string(), "Jenkins".to_string(), "Azure".to_string(), "Networking".to_string()], + description: t!("cv_workexperience_dd_devops_description") + }, CVEntry {time: t!("cv_workexperience_ra_ude_time"), title: t!("cv_workexperience_ra_ude_title"), technologies: vec!["Rust".to_string(), "Python".to_string(), "P4".to_string(), "Linux".to_string(), "Docker".to_string(), "Kubernetes".to_string()], description: t!("cv_workexperience_ra_ude_description") diff --git a/src/languages/de-DE.ftl b/src/languages/de-DE.ftl index e08280d..919fb2f 100644 --- a/src/languages/de-DE.ftl +++ b/src/languages/de-DE.ftl @@ -33,6 +33,9 @@ cv_workexperience_mentoring_ude_description = Als Mentor für Studienanfänger i cv_workexperience_ra_ude_title = Studentische Hilfskraft @ UDE cv_workexperience_ra_ude_time = 2021 - 2024 cv_workexperience_ra_ude_description = Während meiner Tätigkeit als wissenschaftlicher Mitarbeiter in der Network Communication System Research Group an der Universität Duisburg-Essen habe ich an der Forschung rund um Software Defined Networking, 5G, Staukontrollalgorithmen und föderiertes maschinelles Lernen mitgearbeitet. Ich habe die On-Premise- und Cloud-Infrastruktur, das Inventarsystem und die Online-Präsenz der Forschungsgruppe aufgebaut und verwaltet. +cv_workexperience_dd_devops_title = Junior DevOps Engineer @ DextraData +cv_workexperience_dd_devops_time = 2025 - Jetzt +cv_workexperience_dd_devops_description = Bei Dextra Data, einem führenden SaaS-Anbieter im Bereich Governance, Risk und Compliance (GRC), sorge ich für die Verfügbarkeit und Gesundheit der Software Deployments für unsere Kunden. Im zentralen DevOps-Team manage ich Deployments über alle Produkte hinweg mit Tools wie Azure, Ansible, Docker, Kubernetes, Jenkins und Bitbucket. In enger Zusammenarbeit mit Entwicklern und dem Management über die Atlassian Suite betreue ich alle Umgebungen von der Vorentwicklung bis zur Produktion. Mein Ziel ist es, meine technischen Fähigkeiten weiter auszubauen, relevante Zertifizierungen zu erwerben und mein berufliches Netzwerk zu erweitern, um unsere DevOps-Prozesse kontinuierlich zu verbessern. cv_socials_title = Profile cv_education_title = Bildungsweg cv_education_bachelor_title = BSc Angewandte Informatik - Systems Engineering @@ -69,11 +72,11 @@ publications_projects_publications_iot_fuzzers_conference = Seminar publications_projects_publications_iot_fuzzers_url = https://git.tudattr.dev/AISE/seminar/src/branch/main/paper.pdf publications_projects_publications_iot_fuzzers_description = In dieser Arbeit vergleichen wir Methoden, die speziell von IoT Fuzzern genutzt werden um die von IoT Geräten stammenden Herausforderungen und Einschränkungen zu umgehen. publications_projects_projects_title = Projekte -publications_projects_projects_bachelorproject_title = Unbenannter Ethereum Smart Contract Fuzzer -publications_projects_projects_bachelorproject_authors = Tuan-Dat Tran -publications_projects_projects_bachelorproject_kind = Bachelorprojekt -publications_projects_projects_bachelorproject_url = https://git.ude-syssec.de/uni-due-syssec/students/2022_tuan-dat_tran_libAFLEVMFuzzer/ethfuzz/ -publications_projects_projects_bachelorproject_description = In diesem aktuell laufendem Projekt entwickle ich einen Ethereum Smart Contract Fuzzer. Mehr Infos folgen... +publications_projects_projects_bpba_title = Unbenannter Ethereum Smart Contract Fuzzer +publications_projects_projects_bpba_authors = Tuan-Dat Tran +publications_projects_projects_bpba_kind = Bachelorprojekt/Bachelorarbeit +publications_projects_projects_bpba_url = https://git.ude-syssec.de/uni-due-syssec/students/2022_tuan-dat_tran_libAFLEVMFuzzer/ethfuzz/ +publications_projects_projects_bpba_description = In diesem aktuell laufendem Projekt entwickle ich einen Ethereum Smart Contract Fuzzer. Mehr Infos folgen... publications_projects_projects_dotfiles_title = .dotfiles publications_projects_projects_dotfiles_authors = Tuan-Dat Tran publications_projects_projects_dotfiles_kind = Personal diff --git a/src/languages/en-GB.ftl b/src/languages/en-GB.ftl index e0b910d..ea97d61 100644 --- a/src/languages/en-GB.ftl +++ b/src/languages/en-GB.ftl @@ -33,6 +33,9 @@ cv_workexperience_mentoring_ude_description = As a mentor for students enrolling cv_workexperience_ra_ude_title = Research Assistant @ UDE cv_workexperience_ra_ude_time = 2021 - 2024 cv_workexperience_ra_ude_description = While working for the Network Communication System Research Group at the University Duisburg-Essen as a research assistant I've assisted in research around software defined networking, 5G, congestion control algorithms and federated machine learning. I've established and managed the research groups on-premise and cloud infractructure, inventory system and online presence. +cv_workexperience_dd_devops_title = Junior DevOps Engineer @ UDE +cv_workexperience_dd_devops_time = 2025 - now +cv_workexperience_dd_devops_description = At Dextra Data, a leading SaaS provider in the Governance, Risk, and Compliance (GRC) sector, I ensure the availability and health of software deployments for our customers. Within the central DevOps team, I manage deployments across all products using tools such as Azure, Ansible, Docker, Kubernetes, Jenkins, and Bitbucket. In close cooperation with developers and management through the Atlassian Suite, I oversee all environments from pre-development to production. My goal is to further develop my technical skills, obtain relevant certifications, and expand my professional network to continuously improve our DevOps processes. cv_socials_title = Socials cv_education_title = Education cv_education_bachelor_title = BSc Systems Engineering @@ -69,11 +72,11 @@ publications_projects_publications_iot_fuzzers_conference = Seminar publications_projects_publications_iot_fuzzers_url = https://git.tudattr.dev/AISE/seminar/src/branch/main/paper.pdf publications_projects_publications_iot_fuzzers_description = In this paper, we are comparing techniques used by IoT fuzzers to circumvent the challenges presented by IoT devices and the constraints of the solutions proposed by the IoT fuzzers. publications_projects_projects_title = Projects -publications_projects_projects_bachelorproject_title = Undisclosed Ethereum Smart Contract Fuzzer -publications_projects_projects_bachelorproject_authors = Tuan-Dat Tran -publications_projects_projects_bachelorproject_kind = Bachelorproject -publications_projects_projects_bachelorproject_url = https://git.ude-syssec.de/uni-due-syssec/students/2022_tuan-dat_tran_libAFLEVMFuzzer/ethfuzz/ -publications_projects_projects_bachelorproject_description = In this ongoing project I am building an Ethereum Smart Contract Fuzzer. More info will follow. +publications_projects_projects_bpba_title = Undisclosed Ethereum Smart Contract Fuzzer +publications_projects_projects_bpba_authors = Tuan-Dat Tran +publications_projects_projects_bpba_kind = Bachelor Project/Bachelor Thesis +publications_projects_projects_bpba_url = https://git.ude-syssec.de/uni-due-syssec/students/2022_tuan-dat_tran_libAFLEVMFuzzer/ethfuzz/ +publications_projects_projects_bpba_description = In this ongoing project I am building an Ethereum Smart Contract Fuzzer. More info will follow. publications_projects_projects_dotfiles_title = .dotfiles publications_projects_projects_dotfiles_authors = Tuan-Dat Tran publications_projects_projects_dotfiles_kind = Personal diff --git a/src/publications.rs b/src/publications.rs index e35b9d4..9044894 100644 --- a/src/publications.rs +++ b/src/publications.rs @@ -86,11 +86,11 @@ fn Projects() -> Element { div { class: "flex gap-4 items-center flex-wrap", Project { - title: t!("publications_projects_projects_bachelorproject_title"), - authors: t!("publications_projects_projects_bachelorproject_authors"), - kind: t!("publications_projects_projects_bachelorproject_kind"), - url: t!("publications_projects_projects_bachelorproject_url"), - description: t!("publications_projects_projects_bachelorproject_description") + title: t!("publications_projects_projects_bpba_title"), + authors: t!("publications_projects_projects_bpba_authors"), + kind: t!("publications_projects_projects_bpba_kind"), + url: t!("publications_projects_projects_bpba_url"), + description: t!("publications_projects_projects_bpba_description") }, Project { title: t!("publications_projects_projects_dotfiles_title"),