Skip to content

Commit cbaa4e5

Browse files
authored
Merge pull request #48 from ioaiaaii/chore/text-improvements
Chore/text improvements
2 parents 0d40fb8 + 68ef06b commit cbaa4e5

File tree

12 files changed

+1824
-1537
lines changed

12 files changed

+1824
-1537
lines changed

deploy/helm/ioaiaaii/Chart.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ annotations:
33
licenses: Apache-2.0
44
type: application
55
apiVersion: v2
6-
appVersion: v1.1.12
6+
appVersion: v1.2.0
77
dependencies:
88
- name: common
99
repository: oci://registry-1.docker.io/bitnamicharts

internal/entity/resume.go

+28-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,10 @@ type Resume struct {
3535
ArtisticApproach string `json:"artisticApproach"`
3636

3737
// SelectedWorks for artistic background
38-
SelectedWorks []string `json:"selectedWorks"`
38+
SelectedWorks []SelectedWorksEntry `json:"selectedWorks"`
39+
40+
// SelectedWorks for artistic background
41+
Collaborations []CollaborationsEntry `json:"collaborations"`
3942

4043
// Bio for engineering background
4144
// example: Infrastructure Engineer with a focus on scalable systems.
@@ -134,6 +137,30 @@ type ProjectEntry struct {
134137
Link string `json:"link"`
135138
}
136139

140+
// SelectedWorksEntry represents a single entry in the SelectedWorks section.
141+
// swagger:model
142+
type SelectedWorksEntry struct {
143+
// Title of the project
144+
// example: Quantum Security Research
145+
Title string `json:"title"`
146+
147+
// Link to the project or repository
148+
// example: https://github.com/ioaiaaii/quantum-security
149+
Link string `json:"link"`
150+
}
151+
152+
// CollaborationsEntry represents a single entry in the Collaborations section.
153+
// swagger:model
154+
type CollaborationsEntry struct {
155+
// Title of the project
156+
// example: Quantum Security Research
157+
Title string `json:"title"`
158+
159+
// Link to the project or repository
160+
// example: https://github.com/ioaiaaii/quantum-security
161+
Link string `json:"link"`
162+
}
163+
137164
// SkillCategory groups related skills under a category.
138165
// swagger:model
139166
type SkillCategory struct {

web/package-lock.json

+1,332-1,254
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

web/src/assets/main.css

+29-16
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,26 @@
2626

2727
/* Menu */
2828
.menu-button-base {
29-
@apply text-2xl sm:text-2xl md:text-2xl lg:text-2xl xl:text-3xl 2xl:text-3xl uppercase font-bold;
29+
@apply text-2xl sm:text-2xl md:text-2xl lg:text-3xl xl:text-4xl 2xl:text-4xl uppercase font-bold;
30+
}
31+
32+
.sub-menu-button-base {
33+
@apply text-xl sm:text-xl md:text-xl lg:text-xl xl:text-2xl 2xl:text-2xl uppercase font-bold;
3034
}
3135

3236
.menu-button {
3337
@apply menu-button-base text-blue-700 tracking-wide hover:text-blue-500 transition duration-300 ease-in-out;
3438
}
3539

40+
41+
.menu-button-mobile {
42+
@apply menu-button-base text-blue-700 tracking-wide;
43+
}
44+
45+
.sub-menu-button-mobile {
46+
@apply sub-menu-button-base text-blue-700 tracking-wide;
47+
}
48+
3649
.contact-button {
3750
@apply menu-button-base text-blue-700 ;
3851
}
@@ -84,16 +97,20 @@
8497
@apply text-4xl font-extrabold text-gray-800 tracking-tight;
8598
}
8699

87-
88-
89100
.resume-heading {
90-
@apply basic-heading;
101+
@apply project-category;
102+
}
103+
.resume-item {
104+
@apply basic-text font-semibold;
91105
}
92-
93106
.resume-text {
94107
@apply basic-text;
95108
}
96109

110+
.date {
111+
@apply basic-text italic font-semibold;
112+
}
113+
97114
.heading-md {
98115
@apply text-2xl font-semibold text-gray-800;
99116
}
@@ -102,24 +119,20 @@
102119
@apply text-lg font-medium text-gray-600;
103120
}
104121

105-
106-
107122
.project-category {
108-
@apply menu-button-base text-red-800 tracking-wide font-extralight;
123+
@apply sub-menu-button-base font-semibold tracking-wide;
109124
}
110-
125+
111126
.project-button-pulse {
112-
@apply basic-heading underline uppercase tracking-wide hover:text-blue-500 transition;
127+
@apply resume-item hover:text-blue-500 transition;
113128
}
114129

115130
.project-text {
116131
@apply basic-text;
117132
}
118133

119-
120-
121134
.release-title {
122-
@apply text-gray-900 text-lg sm:text-lg md:text-xl lg:text-xl xl:text-xl font-bold uppercase;
135+
@apply text-gray-900 text-lg sm:text-lg md:text-xl lg:text-xl xl:text-xl font-semibold uppercase;
123136
}
124137

125138
.release-subtitle {
@@ -131,15 +144,15 @@
131144
}
132145

133146
.release-button {
134-
@apply font-semibold text-sm sm:text-lg md:text-lg lg:text-lg xl:text-lg text-gray-900 tracking-wide hover:text-green-700 transition duration-300 uppercase underline;
147+
@apply font-semibold text-sm sm:text-lg md:text-lg lg:text-lg xl:text-lg text-ioai-100 tracking-wide hover:text-green-700 transition duration-300 uppercase underline;
135148
}
136149

137150
.live-text {
138151
@apply text-sm sm:text-sm md:text-lg lg:text-xl xl:text-xl font-semibold uppercase text-white ;
139152
}
140153

141154
.live-button {
142-
@apply text-sm sm:text-sm md:text-lg lg:text-xl xl:text-xl font-semibold text-white hover:text-green-700 transition duration-300 uppercase underline;
155+
@apply text-sm sm:text-sm md:text-lg lg:text-xl xl:text-xl font-semibold text-ioai-100 hover:text-green-700 transition duration-300 uppercase underline;
143156
}
144157

145158
/* For Webkit-based browsers (Chrome, Safari and Opera) */
@@ -154,7 +167,7 @@
154167
}
155168

156169
.footer {
157-
@apply w-full p-4 border-t border-gray-500 flex flex-col sm:flex-row justify-end ;
170+
@apply w-full p-4 border-t border-white flex flex-col sm:flex-row justify-end ;
158171
}
159172

160173
.footer-link {

web/src/components/CV.vue

+157
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,157 @@
1+
<template>
2+
<div class="base-container">
3+
<div class="base-grid mt-2">
4+
<div class="p-4 lg:border-r border-white">
5+
<section
6+
v-if="resume.profile.length"
7+
class="mt-2"
8+
>
9+
<h3 class="project-category">
10+
PROFILE
11+
</h3>
12+
<p class="resume-text">
13+
{{ resume.engineerBio }}
14+
</p>
15+
</section>
16+
<section
17+
v-if="resume.education.length"
18+
class="mt-6"
19+
>
20+
<h3 class="resume-heading">
21+
Education
22+
</h3>
23+
<ul class="list-inside space-y-4">
24+
<li
25+
v-for="(edu, index) in resume.education"
26+
:key="index"
27+
class="resume-text"
28+
>
29+
<span
30+
class="date"
31+
>{{ edu.startDate }} - {{ edu.endDate }}</span><br>
32+
<span
33+
class="resume-item"
34+
>{{ edu.degree }}, {{ edu.institution }}, {{ edu.location }}</span>
35+
36+
<div class="resume-text">
37+
<li>
38+
{{ edu.specialization }}
39+
{{ edu.dissertation }}
40+
</li>
41+
</div>
42+
</li>
43+
</ul>
44+
</section>
45+
<section
46+
v-if="resume.skillGroups.length"
47+
class="mt-6"
48+
>
49+
<h3 class="resume-heading">
50+
Skills
51+
</h3>
52+
53+
<!-- Grid Layout for Skill Groups -->
54+
<div class="grid grid-cols-2 md:grid-cols-4">
55+
<!-- Skill Groups List -->
56+
<div
57+
v-for="(group, index) in resume.skillGroups"
58+
:key="index"
59+
class="mb-6"
60+
>
61+
<!-- Category Name -->
62+
<h2 class="resume-text font-semibold italic">
63+
{{ group.category }}
64+
</h2>
65+
66+
<!-- Skills List -->
67+
<ul class="list-disc list-outside pl-4 space-y-1">
68+
<li
69+
v-for="(skill, i) in group.skills"
70+
:key="i"
71+
class="resume-text"
72+
>
73+
{{ skill }}
74+
</li>
75+
</ul>
76+
</div>
77+
</div>
78+
</section>
79+
</div>
80+
81+
<!-- Right Column: Education, Projects, and Skills -->
82+
<div class="p-4">
83+
<!-- Experience Section -->
84+
<section
85+
v-if="resume.experience.length"
86+
class="mt-2"
87+
>
88+
<h3 class="resume-heading">
89+
Professional Experience
90+
</h3>
91+
<ul class="list-inside space-y-4">
92+
<li
93+
v-for="(exp, index) in resume.experience"
94+
:key="index"
95+
class="resume-text"
96+
>
97+
<span
98+
class="date"
99+
>{{ exp.startDate }} - {{ exp.endDate }}</span><br>
100+
<span
101+
class="resume-item"
102+
>{{ exp.role }}, {{ exp.company }}, {{ exp.location }}</span>
103+
104+
<ul class="list-disc list-outside pl-4 space-y-1">
105+
<li
106+
v-for="(desc, i) in exp.description"
107+
:key="i"
108+
>
109+
{{ desc }}
110+
</li>
111+
</ul>
112+
</li>
113+
</ul>
114+
</section>
115+
</div>
116+
</div>
117+
</div>
118+
</template>
119+
120+
<script>
121+
export default {
122+
data() {
123+
return {
124+
resume: {
125+
name: '',
126+
title: '',
127+
email: '',
128+
linkedIn: '',
129+
gitHub: '',
130+
profile: '',
131+
experience: [],
132+
education: [],
133+
projects: [],
134+
skillGroups: [],
135+
references: [],
136+
}
137+
};
138+
},
139+
created() {
140+
this.fetchContent();
141+
},
142+
methods: {
143+
fetchContent() {
144+
fetch('/api/v1/info')
145+
.then((response) => response.json())
146+
.then((data) => {
147+
this.resume = data;
148+
})
149+
.catch((error) => console.error('Error fetching resume content:', error));
150+
}
151+
},
152+
};
153+
</script>
154+
155+
<style>
156+
157+
</style>

web/src/components/Contact.vue

+1-11
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,10 @@
22
<div class="min-h-screen p-4 flex flex-col relative items-center justify-center">
33
<!-- Links centered vertically and horizontally -->
44
<div class="flex flex-col text-left">
5-
<a
6-
:href="resume.linkedIn"
7-
target="_blank"
8-
class="contact-button"
9-
>├ LinkedIn</a>
10-
<a
11-
href="https://soundcloud.com/ioannis_savvaidis"
12-
target="_blank"
13-
class="contact-button"
14-
>├ SoundCloud</a>
155
<a
166
:href="'mailto:' + resume.email"
177
class="contact-button lowercase"
18-
>{{ resume.email }}</a>
8+
>{{ resume.email }}</a>
199
</div>
2010
</div>
2111
</template>

web/src/components/Home.vue

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@
55
:style="{ height: 'calc(var(--vh) * 100)' }"
66
>
77
<!-- Text Overlay Container with Flex Layout -->
8-
<div class="absolute inset-0 flex flex-col p-4 lg:mt-2">
8+
<!-- <div class="absolute inset-0 flex flex-col p-4 lg:mt-2">
99
<div class="home-heading w-full lg:w-1/2 text-left">
1010
<h1 class="mt-8">
1111
{{ resume.title }}
1212
</h1>
1313
</div>
14-
</div>
14+
</div> -->
1515

1616
<!-- Background Image Container with Full Height -->
1717
<div

0 commit comments

Comments
 (0)