14 Commits

Author SHA1 Message Date
Tuan-Dat Tran
414678befd Merge branch 'dev' 2025-02-07 00:44:54 +01:00
Tuan-Dat Tran
7fa831ca13 hopefully fixed dark mode now
Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev>
2025-02-07 00:43:17 +01:00
Tuan-Dat Tran
8f8c724f5f refactor(athome): Removed comments and did cargo fix
Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev>
2025-02-07 00:39:25 +01:00
Tuan-Dat Tran
01c3ceb76d feat(deploy): Set Dockerfile according to official dioxus docs
Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev>
2025-02-07 00:28:29 +01:00
Tuan-Dat Tran
5ce21498e5 feat(build): Updated build to version 0.4.0
Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev>
2025-02-07 00:18:01 +01:00
Tuan-Dat Tran
8d8b461774 feat(docker): Use git tags for tagging docker releases
Some checks failed
Build Docker Image / Build (push) Has been cancelled
Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev>
2025-01-29 15:10:39 +01:00
Tuan-Dat Tran
96e5cd9fee Updated CV
Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev>
2025-01-29 15:09:13 +01:00
Tuan-Dat Tran
94ad506ce6 feat(cv): Updated CV to 2025
Some checks failed
Build Docker Image / Build (push) Has been cancelled
Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev>
2025-01-24 17:09:58 +01:00
Tuan-Dat Tran
541fd5297c fix(cv): Fixed random badges to only display on hot-reload
Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev>
2025-01-12 18:34:18 +01:00
Tuan-Dat Tran
67243080b1 fix(fluent): Fixed labels for ftl file
Some checks failed
Build Docker Image / Build (push) Has been cancelled
Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev>
2024-12-12 22:32:37 +01:00
9c43e89f29 Merge pull request 'dioxus_upgrade' (#14) from dioxus_upgrade into dev
Some checks are pending
Build Docker Image / Build (push) Waiting to run
Reviewed-on: #14
2024-12-12 00:04:03 +01:00
a54d1f3c3b Merge pull request 'dev' (#12) from dev into master
Reviewed-on: #12
2024-07-25 12:12:25 +02:00
Tuan-Dat Tran
081229d66a Merge branch 'dev' 2024-05-21 23:32:53 +02:00
837e19e111 Merge pull request 'Closes #2 and #5' (#7) from dev into master
Reviewed-on: #7
2024-05-21 23:00:22 +02:00
15 changed files with 818 additions and 509 deletions

6
.dockerignore Normal file
View File

@@ -0,0 +1,6 @@
**/target
**/dist
LICENSES
LICENSE
temp
README.md

1119
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,13 +1,13 @@
[package]
name = "athome"
version = "0.3.0"
version = "0.4.0"
authors = ["Tuan-Dat Tran <tuan-dat.tran@tudattr.dev>"]
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
serde = { version = "1.0.197", features = ["derive"] }
serde = { version = "1", features = ["derive"] }
dioxus = { version = "0.6", features = ["fullstack", "router"] }
# Debug

View File

@@ -1,20 +1,33 @@
FROM rust:1.80.1 AS dioxus
RUN cargo install dioxus-cli@^0.5
FROM rust:1 AS chef
RUN cargo install cargo-chef
WORKDIR /app
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 npm install -D tailwindcss
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 fullstack --release
FROM chef AS planner
COPY . .
RUN cargo chef prepare --recipe-path recipe.json
FROM dioxus AS runner
WORKDIR /app/
COPY --from=builder /athome/docs/ ./docs/
CMD [ "./docs/athome" ]
FROM chef AS builder
COPY --from=planner /app/recipe.json recipe.json
RUN cargo chef cook --release --recipe-path recipe.json
COPY . .
# Install `dx`
RUN curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash
RUN cargo binstall dioxus-cli --root /.cargo -y --force
ENV PATH="/.cargo/bin:$PATH"
# Create the final bundle folder. Bundle always executes in release mode with optimizations enabled
RUN dx bundle --platform web
FROM chef AS runtime
COPY --from=builder /app/target/dx/athome/release/web/ /usr/local/app
# set our port and make sure to listen for all connections
ENV PORT=8080
ENV IP=0.0.0.0
# expose the port 8080
EXPOSE 8080
WORKDIR /usr/local/app
ENTRYPOINT [ "/usr/local/app/server" ]

View File

@@ -9,7 +9,7 @@ npx tailwindcss -i ./input.css -o ./assets/tailwind.css --watch
```
```sh
dx serve --platform fullstack
dx serve --platform web
```
## Screenshot

Binary file not shown.

Before

Width:  |  Height:  |  Size: 190 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View File

@@ -2,25 +2,19 @@
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://www.tudattr.dev/</loc>
<lastmod>2024-07-25</lastmod>
<lastmod>2025-01-12</lastmod>
<changefreq>monthly</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://www.tudattr.dev/resume</loc>
<lastmod>2024-07-25</lastmod>
<lastmod>2025-01-12</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.tudattr.dev/publications</loc>
<lastmod>2024-07-25</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.tudattr.dev/consulting</loc>
<lastmod>2024-07-25</lastmod>
<lastmod>2025-01-12</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>

View File

@@ -1,3 +1,6 @@
@tailwind base;
@tailwind components;
@tailwind utilities;
@custom-variant dark (&:where(.dark, .dark *));

View File

@@ -1,6 +1,6 @@
#!/bin/sh
TAG=$(git branch | grep "*" | awk '{ print $2 }')
TAG=$(git tag)
LOCAL_IMAGE="athome"
REGISTRY="mos4"
REMOTE_IMAGE="athome"

View File

@@ -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")
@@ -104,7 +108,8 @@ fn Skills() -> Element {
P { { t!("cv_skills_devops_ansible") } },
P { { t!("cv_skills_devops_kubernetes") } },
P { { t!("cv_skills_devops_gitops") } },
}Entry {
}
Entry {
title: t!("cv_skills_software_engineering_title"),
P { { t!("cv_skills_software_engineering_rust") } },
P { { t!("cv_skills_software_engineering_python") } },
@@ -198,8 +203,7 @@ fn RandomBadge(text: String) -> Element {
let badge_color = random_badge_color(text.len());
rsx! {
span {
class:"text-xs font-medium me-2 px-2.5 py-0.5 rounded ",
class: "{badge_color}",
class:"text-xs font-medium me-2 px-2.5 py-0.5 rounded {badge_color}",
"{text}"
}
}

View File

@@ -6,14 +6,17 @@ headers_about = Impressum
headers_language_buttons_english = 🇬🇧 Englisch
headers_language_buttons_german = 🇩🇪 Deutsch
home_card_name = Tuan-Dat Tran
home_card_gender = ""
home_card_gender = {""}
home_card_text =
Hallihallo! 👋🏻👋🏼👋🏽👋🏾👋🏿
Willkommen auf meiner kleinen Webseite im World Wide Web.
Mein Name ist Tuan und ich bin Linux-Bastler, IT-Security Nerd und Automatisierer aus Leidenschaft.
Während du hier bist, schau dir doch meine Projekte auf Gitea an.
home_card_contact_button = Get in touch.
cv_introduction_0 = Während meines Bachelorstudiums habe ich viele Erfahrungen in der Industrie und im Studium gesammelt. Meine beruflichen und persönlichen Interessen sind DevOps/IaC, Systems/Software Security und Computer Networking. All diese Interessen vertiefe ich in persönlichen Projekten wie meinem Homelab und CTF-Challenges.
cv_introduction_0 =
Während meines Bachelorstudiums habe ich viele Erfahrungen in der Industrie und im Studium gesammelt.
Meine beruflichen und persönlichen Interessen sind DevOps/IaC, Systems/Software Security und Computer Networking.
All diese Interessen vertiefe ich in persönlichen Projekten wie meinem Homelab und CTF-Challenges.
cv_workexperience_title = Berufserfahrung
cv_workexperience_se1_gefeba_title = Software Entwickler @ gefeba Engineering GmbH
cv_workexperience_se1_gefeba_time = 2013 - 2015
@@ -28,8 +31,11 @@ cv_workexperience_mentoring_ude_title = Mentoring @ UDE
cv_workexperience_mentoring_ude_time = 2021 - 2022
cv_workexperience_mentoring_ude_description = Als Mentor für Studienanfänger im Studiengang Informatik der Universität Duisburg-Essen habe ich zu Beginn jedes Semesters Gruppen von ~20 Studienanfängern in ihr neues akademisches Umfeld eingeführt. Ich bot zusätzliche organisatorische und technische Unterstützung für das erste Jahr an der Universität an.
cv_workexperience_ra_ude_title = Studentische Hilfskraft @ UDE
cv_workexperience_ra_ude_time = 2021 - jetzt
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
@@ -54,33 +60,33 @@ cv_interests_coffee = Kaffee
cv_interests_tech_it = Tech/IT
cv_interests_guitar = Gitarre
cv_interests_mechanical_keyboards = Mechanische Tastaturen
publication_projects_publications_title = Veröffentlichungen
publication_projects_publications_rpm_title = RPM: Reverse Path Congestion Marking on P4 Programmable Switches
publication_projects_publications_rpm_authors = N. Baganal-Krishna, T.-D. Tran, R. Kundel and A. Rizk
publication_projects_publications_rpm_conference = IEEE LCN 2023
publication_projects_publications_rpm_url = https://doi.org/10.48550/arXiv.2307.09639
publication_projects_publications_rpm_description = In diesem Artikel stellen wir Reverse Path Congestion Marking (RPM) vor, um die Reaktion auf Netzwerküberlastungen zu beschleunigen, ohne den End-Host-Stack zu verändern. RPM entkoppelt das Stausignal vom nachgelagerten Pfad nach dem Engpass, während die Stabilität der Staukontrollschleife erhalten bleibt. Wir zeigen, dass RPM die Durchsatzfairness für RTT bei heterogenen TCP-Flüssen sowie die Flussabwicklungszeit verbessert, insbesondere für kleine Data Center TCP (DCTCP)-Flows um P4 programmierbare ASIC-Switches.
publication_projects_publications_iot_fuzzers_title = Overview of IoT Fuzzing Techniques
publication_projects_publications_iot_fuzzers_authors = Tuan-Dat Tran
publication_projects_publications_iot_fuzzers_conference = Seminar
publication_projects_publications_iot_fuzzers_url = https://git.tudattr.dev/AISE/seminar/src/branch/main/paper.pdf
publication_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.
publication_projects_projects_title = Projekte
publication_projects_projects_bachelorproject_title = Unbenannter Ethereum Smart Contract Fuzzer
publication_projects_projects_bachelorproject_authors = Tuan-Dat Tran
publication_projects_projects_bachelorproject_kind = Bachelorprojekt
publication_projects_projects_bachelorproject_url = https://git.ude-syssec.de/uni-due-syssec/students/2022_tuan-dat_tran_libAFLEVMFuzzer/ethfuzz/
publication_projects_projects_bachelorproject_description = In diesem aktuell laufendem Projekt entwickle ich einen Ethereum Smart Contract Fuzzer. Mehr Infos folgen...
publication_projects_projects_dotfiles_title = .dotfiles
publication_projects_projects_dotfiles_authors = Tuan-Dat Tran
publication_projects_projects_dotfiles_kind = Personal
publication_projects_projects_dotfiles_url = https://git.tudattr.dev/tudattr/dotfiles
publication_projects_projects_dotfiles_description = dotfiles ist ein umgangssprachlicher Begriff, der normalerweise für Konfigurationsdateien in Linux-basierten Systemen verwendet wird. Meine Dotfiles enthalten Konfigurationen für Tools, die ich häufig verwende, sowie eine Dokumentation zur Einrichtung meines täglich genutzten Notebooks. Sie bieten eine Grundlage für jedes persönliche Linux-System, das ich einrichte, und ermöglichen Wiederholbarkeit, was den Prozess der Einrichtung eines ArchLinux-basierten Systems vereinfacht.
publication_projects_projects_homelab_title = Homelab
publication_projects_projects_homelab_authors = Tuan-Dat Tran
publication_projects_projects_homelab_kind = Personal
publication_projects_projects_homelab_url = https://git.tudattr.dev/tudattr/ansible
publication_projects_projects_homelab_description = Ansible ist eine Automatisierungs-Engine, die eine automatische Bereitstellung, Konfigurationsverwaltung und Anwendungsbereitstellung ermöglicht. Ich verwende Ansible, um mein Homelab einzurichten, das mir als Plattform zum Ausprobieren und Lernen neuer Technologien dient.
publications_projects_publications_title = Veröffentlichungen
publications_projects_publications_rpm_title = RPM: Reverse Path Congestion Marking on P4 Programmable Switches
publications_projects_publications_rpm_authors = N. Baganal-Krishna, T.-D. Tran, R. Kundel and A. Rizk
publications_projects_publications_rpm_conference = IEEE LCN 2023
publications_projects_publications_rpm_url = https://doi.org/10.48550/arXiv.2307.09639
publications_projects_publications_rpm_description = In diesem Artikel stellen wir Reverse Path Congestion Marking (RPM) vor, um die Reaktion auf Netzwerküberlastungen zu beschleunigen, ohne den End-Host-Stack zu verändern. RPM entkoppelt das Stausignal vom nachgelagerten Pfad nach dem Engpass, während die Stabilität der Staukontrollschleife erhalten bleibt. Wir zeigen, dass RPM die Durchsatzfairness für RTT bei heterogenen TCP-Flüssen sowie die Flussabwicklungszeit verbessert, insbesondere für kleine Data Center TCP (DCTCP)-Flows um P4 programmierbare ASIC-Switches.
publications_projects_publications_iot_fuzzers_title = Overview of IoT Fuzzing Techniques
publications_projects_publications_iot_fuzzers_authors = Tuan-Dat Tran
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_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
publications_projects_projects_dotfiles_url = https://git.tudattr.dev/tudattr/dotfiles
publications_projects_projects_dotfiles_description = dotfiles ist ein umgangssprachlicher Begriff, der normalerweise für Konfigurationsdateien in Linux-basierten Systemen verwendet wird. Meine Dotfiles enthalten Konfigurationen für Tools, die ich häufig verwende, sowie eine Dokumentation zur Einrichtung meines täglich genutzten Notebooks. Sie bieten eine Grundlage für jedes persönliche Linux-System, das ich einrichte, und ermöglichen Wiederholbarkeit, was den Prozess der Einrichtung eines ArchLinux-basierten Systems vereinfacht.
publications_projects_projects_homelab_title = Homelab
publications_projects_projects_homelab_authors = Tuan-Dat Tran
publications_projects_projects_homelab_kind = Personal
publications_projects_projects_homelab_url = https://git.tudattr.dev/tudattr/ansible
publications_projects_projects_homelab_description = Ansible ist eine Automatisierungs-Engine, die eine automatische Bereitstellung, Konfigurationsverwaltung und Anwendungsbereitstellung ermöglicht. Ich verwende Ansible, um mein Homelab einzurichten, das mir als Plattform zum Ausprobieren und Lernen neuer Technologien dient.
impressum_off = Impressum anzeigen
impressum_on = Impressum
component_under_construction = Diese Seite befindet sich gerade im Aufbau

View File

@@ -13,7 +13,10 @@ home_card_text =
My name is Tuan and I'm passionate about Linux, system security, automation, network performance tweaking and all things tech.
While you're here, why don't you check out my projects over on Gitea?
home_card_contact_button = Get in touch.
cv_introduction_0 = While studying for my bachelors degree I accumulated a lot of industry and academic experience. My professional and personal intererests are DevOps/IaC, Systems/Software Security and Computer Networking. All of which I deepen in personal projects such as my homelab and CTF challenges.
cv_introduction_0 =
While studying for my bachelors degree I accumulated a lot of industry and academic experience.
My professional and personal intererests are DevOps/IaC, Systems/Software Security and Computer Networking.
All of which I deepen in personal projects such as my homelab and CTF challenges.
cv_workexperience_title = Work Experience
cv_workexperience_se1_gefeba_title = Software Engineer @ gefeba Engineering GmbH
cv_workexperience_se1_gefeba_time = 2013 - 2015
@@ -28,8 +31,11 @@ cv_workexperience_mentoring_ude_title = Mentoring @ UDE
cv_workexperience_mentoring_ude_time = 2021 - 2022
cv_workexperience_mentoring_ude_description = As a mentor for students enrolling into the computer science program of the University Duisburg-Essen I introduced groups of ~20 freshmen to their new academic environment at the beginning of each semester. Offering additional organizational and technical guidance for their first year in university.
cv_workexperience_ra_ude_title = Research Assistant @ UDE
cv_workexperience_ra_ude_time = 2021 - now
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
@@ -66,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

View File

@@ -10,7 +10,7 @@ use header::Header;
pub fn Layout() -> Element {
rsx! {
div {
class: "flex flex-col min-h-screen",
class: "dark flex flex-col min-h-screen",
Header {},
Body {
Outlet::<Route> {},

View File

@@ -61,7 +61,6 @@ fn App() -> Element {
rsx! {
document::Link { rel: "stylesheet", href: asset!("./assets/tailwind.css") }
document::Link { rel: "icon", href: asset!("./assets/favicon.ico") }
// <link rel="icon" type="image/x-icon" href="/images/favicon.ico">
meta {
name: "description",
content: "Visit Tuan-Dat Tran's website for his CV, publications, projects, and consulting services. Connect for collaboration.",
@@ -81,22 +80,6 @@ fn App() -> Element {
}}
"
}
// meta {
// property: "og:title",
// content: "Tuan-Dat Trans Personal Website",
// }
// meta {
// property: "og:description",
// content: "Explore Tuan-Dat Tran's personal website featuring his CV, publications, projects, and consulting services. Get insights into his professional journey and connect for collaboration opportunities.",
// }
// meta {
// property: "og:image",
// content: "https://www.tudattr.dev/pictures/headshot.webp",
// }
// meta {
// property: "og:url",
// content: "https://tudattr.dev",
// }
div {
class: "bg-white dark:bg-gray-900 min-h-screen",
Router::<Route> {},

View File

@@ -1,14 +1,13 @@
use dioxus::prelude::*;
use dioxus_i18n::t;
use crate::components::{Bolding, UnderConstruction, H1, HR};
use crate::components::{Bolding, H1, HR};
#[component]
pub fn PublicationsProjects() -> Element {
rsx! {
div {
class: "flex flex-col ",
UnderConstruction { },
div {
H1 { { t!("publications_projects_publications_title") } }
Publications { },
@@ -87,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"),