diff --git a/api-server/fixtures/payloads/works.json5 b/api-server/fixtures/payloads/works.json5
index 45500b43..64d88496 100644
--- a/api-server/fixtures/payloads/works.json5
+++ b/api-server/fixtures/payloads/works.json5
@@ -4,7 +4,6 @@
{
"title": "Bennu Official Homepage",
"url": "https://bennu-official.page/home/",
- "imageUrl": "",
"gitHubRepoUrl": "https://github.com/hwakabh/bennu-official",
"descriptions": "Official Homepage of Bennu",
"techStacks": [
@@ -17,7 +16,6 @@
{
"title": "random-travelers",
"url": "https://random-travelers.com",
- "imageUrl": "",
"gitHubRepoUrl": "https://github.com/hwakabh/random-travelers",
"descriptions": "People who make thier decisions decided by Cloud Native",
"techStacks": [
@@ -29,7 +27,6 @@
{
"title": "6ow3idGirl",
"url": "https://6ow3idgirl.com",
- "imageUrl": "",
"gitHubRepoUrl": "https://github.com/hwakabh/6ow3idGirl",
"descriptions": "Official Homepage of 6ow 3id girl",
"techStacks": [
@@ -39,7 +36,6 @@
{
"title": "waseda-mochida",
"url": "",
- "imageUrl": "",
"gitHubRepoUrl": "https://github.com/hwakabh/waseda-mochida",
"descriptions": "Official Homepage of Waseda Mochida",
"techStacks": [
@@ -51,7 +47,6 @@
{
"title": "Luana Shanti",
"url": "https://luana-shanti.jp",
- "imageUrl": "",
"gitHubRepoUrl": "",
"descriptions": "Luana Shanti Homepage hosted by WordPress",
"techStacks": [
diff --git a/web-frontend/index.html b/web-frontend/index.html
index 22210c4d..01763063 100644
--- a/web-frontend/index.html
+++ b/web-frontend/index.html
@@ -1,11 +1,12 @@
-
-
-
-
- Hiroyuki Wakabayashi - hwakabh
-
+
+ hwakabh
+
+
+
+
+
diff --git a/web-frontend/package-lock.json b/web-frontend/package-lock.json
index 0790a578..285b8ace 100644
--- a/web-frontend/package-lock.json
+++ b/web-frontend/package-lock.json
@@ -8,9 +8,6 @@
"name": "web-frontend",
"version": "0.0.0",
"dependencies": {
- "@ionic/vue": "^8.4.0",
- "@ionic/vue-router": "^8.4.0",
- "@rollup/rollup-linux-arm64-gnu": "4.27.4",
"axios": "^1.7.8",
"vue": "^3.5.13",
"vue-router": "^4.5.0",
@@ -442,33 +439,6 @@
"node": ">=12"
}
},
- "node_modules/@ionic/core": {
- "version": "8.4.0",
- "resolved": "https://registry.npmjs.org/@ionic/core/-/core-8.4.0.tgz",
- "integrity": "sha512-mZ2Ni9QByFGWBNr5W/F/nyPV+cXLhK+6W5BRziy7QPX6YIS57KH8FpY+CjE7BEcpE78anyY49bZt3eOWcES02g==",
- "dependencies": {
- "@stencil/core": "4.20.0",
- "ionicons": "^7.2.2",
- "tslib": "^2.1.0"
- }
- },
- "node_modules/@ionic/vue": {
- "version": "8.4.0",
- "resolved": "https://registry.npmjs.org/@ionic/vue/-/vue-8.4.0.tgz",
- "integrity": "sha512-mtSerl9oC21d6xv1q+QuGm61IzJbqpkWbt0lQryXZ3kK1/aVVOnHAN5bX8tPPUN2ALA7CyTWXaCvhxceRV/paA==",
- "dependencies": {
- "@ionic/core": "8.4.0",
- "ionicons": "^7.0.0"
- }
- },
- "node_modules/@ionic/vue-router": {
- "version": "8.4.0",
- "resolved": "https://registry.npmjs.org/@ionic/vue-router/-/vue-router-8.4.0.tgz",
- "integrity": "sha512-g9cLVES3svWnhLbZI4qRTlk2PbbdNB+xAjaMAUGVNZqJRMhIzU3vs4Wiazmd90Bwx39bgr/1o2TPYWzDt1yw0g==",
- "dependencies": {
- "@ionic/vue": "8.4.0"
- }
- },
"node_modules/@isaacs/cliui": {
"version": "8.0.2",
"resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
@@ -713,18 +683,6 @@
"win32"
]
},
- "node_modules/@stencil/core": {
- "version": "4.20.0",
- "resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.20.0.tgz",
- "integrity": "sha512-WPrTHFngvN081RY+dJPneKQLwnOFD60OMCOQGmmSHfCW0f4ujPMzzhwWU1gcSwXPWXz5O+8cBiiCaxAbJU7kAg==",
- "bin": {
- "stencil": "bin/stencil"
- },
- "engines": {
- "node": ">=16.0.0",
- "npm": ">=7.10.0"
- }
- },
"node_modules/@types/estree": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz",
@@ -1655,14 +1613,6 @@
"integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
"dev": true
},
- "node_modules/ionicons": {
- "version": "7.4.0",
- "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-7.4.0.tgz",
- "integrity": "sha512-ZK94MMqgzMCPPMhmk8Ouu6goyVHFIlw/ACP6oe3FrikcI0N7CX0xcwVaEbUc0G/v3W0shI93vo+9ve/KpvcNhQ==",
- "dependencies": {
- "@stencil/core": "^4.0.3"
- }
- },
"node_modules/is-fullwidth-code-point": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
@@ -2352,11 +2302,6 @@
"node": ">=14.0.0"
}
},
- "node_modules/tslib": {
- "version": "2.8.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
- "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="
- },
"node_modules/union": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/union/-/union-0.5.0.tgz",
diff --git a/web-frontend/package.json b/web-frontend/package.json
index d3c120ec..cdcef5de 100644
--- a/web-frontend/package.json
+++ b/web-frontend/package.json
@@ -12,8 +12,6 @@
"node": "20.9.0"
},
"dependencies": {
- "@ionic/vue": "^8.4.0",
- "@ionic/vue-router": "^8.4.0",
"axios": "^1.7.8",
"vue": "^3.5.13",
"vue-router": "^4.5.0",
@@ -28,7 +26,7 @@
"vitest": "^2.1.5"
},
"optionalDependencies": {
- "@rollup/rollup-linux-x64-gnu": "4.27.4",
- "@rollup/rollup-linux-arm64-gnu": "4.27.4"
+ "@rollup/rollup-linux-arm64-gnu": "4.27.4",
+ "@rollup/rollup-linux-x64-gnu": "4.27.4"
}
}
diff --git a/web-frontend/src/App.vue b/web-frontend/src/App.vue
index 7b96f346..9ecc8e34 100644
--- a/web-frontend/src/App.vue
+++ b/web-frontend/src/App.vue
@@ -1,64 +1,28 @@
-
-
-
-
-
-
-
-
-
- Home
- |
- About me
- |
- Resume
- |
- Side Gigs
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
-
-
-
-
-
+
+
+
-
+
-
-
diff --git a/web-frontend/src/components/SidebarContent.vue b/web-frontend/src/components/SidebarContent.vue
new file mode 100644
index 00000000..e095e436
--- /dev/null
+++ b/web-frontend/src/components/SidebarContent.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
diff --git a/web-frontend/src/components/SocialLink.vue b/web-frontend/src/components/SocialLink.vue
index 0136e067..2170ea8c 100644
--- a/web-frontend/src/components/SocialLink.vue
+++ b/web-frontend/src/components/SocialLink.vue
@@ -1,5 +1,5 @@
- About
-
- Born in 1991 in Tokyo, and got into IT from maintaining a university club's homepage.
- Currently works as a software engineer and also works as a freelancer.
- Likes coffee, gin, music and relaxing cafes
- Dislike sweet or spicy foods
-
- Musics
-
- Fetched from Personal Apple Music playlist
-
-
-
- Books
- Fetched from latest books in bookshelf API from booklog
-
- {{ b }}
-
- Movies
- Fetched from latest clips from Filmarks
-
- {{ m }}
-
+
+
+
+
+
Personal
+
+ Born in 1991 in Tokyo, and got into IT from maintaining a university club's homepage.
+ Currently works as a software engineer and also works as a freelancer.
+ Likes coffee, gin, music and relaxing cafes
+ Dislike sweet or spicy foods
+
+
+
Musics
+
+
+
Books
+
+ Fetched from latest books in bookshelf API from
booklog
+
+ {{ b }}
+
+
+
+
Movies
+
+ Fetched from latest clips from
Filmarks
+
+ {{ m }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Professional
+
+ Consulting Architect with background in design/deployment/optimization of Telecomm infrastructures, programming, and application development.
+ Focused on customer’s outcome with knowledges of both infrastructures and application, and leading high impact projects.
+ Handled troubleshooting of high-severity cases with customer and global development/support team.
+
+
+ Please see more details including major accomplishments in LinkedIn
+
+
+
Career History
+
+
+ 2024-10 - Present: Resident Solutions Engineer / HashiCorp
+ 2019-06 - 2024-10: Telco Solutions Architect / VMware (merged by Broadcom Software)
+ 2015-04 - 2019-06: Delivery Specialist / EMC Corporation (merged by Dell Technologies)
+
+
+
+
Educations
+
+
+
{{ e.start }} - {{ e.end }} : {{ e.title }}
+
{{ e.descriptions }}
+
+
+
+
Publications / Exposures
+
+
+
+
+
+
diff --git a/web-frontend/src/pages/Contact.vue b/web-frontend/src/pages/Contact.vue
index d897a5e0..1b30ea9a 100644
--- a/web-frontend/src/pages/Contact.vue
+++ b/web-frontend/src/pages/Contact.vue
@@ -39,45 +39,49 @@ const textCount = computed(() => {
-
- Contact
-
-
- Please feel free to get in touch!
-
+
+
+
Contact
+
Please feel free to get in touch!
+
+
+ Failed to send email, please try again after reload!
+
+
+
+
+
+ Thanks!
+
-
-
- Failed to send email!
-
-
-
-
-
-
- Thanks!
-
+
+ {{ senderEmail }}
+
+
+
-
- {{ senderEmail }}
-
-
-
+
+
+
-
- Your Name
-
-
-
- Your Email
-
-
-
- Body
-
-
- Word Count: {{ textCount }}
-
- Submit
-
diff --git a/web-frontend/src/pages/Cv.vue b/web-frontend/src/pages/Cv.vue
deleted file mode 100644
index aa2e7da2..00000000
--- a/web-frontend/src/pages/Cv.vue
+++ /dev/null
@@ -1,103 +0,0 @@
-
-
-
-
- Selected Accomplishments
-
-
- All of the project data has been fetched from LinkedIn profiles .
-
-
-
-
-
{{ p.title }}
-
{{ p.description }}
-
-
Period: {{ p.start.year }}/{{ p.start.month }} - {{ p.end.year }}/{{ p.end.month }}
-
-
-
-
-
-
-
- Certifications
-
-
- Certified badges are all stored in Credly Public Profile
-
-
-
- {{ c.start.year }}/{{ c.start.month }}: {{ c.name }}
-
-
-
-
- Educations
-
-
-
-
{{ e.start }} - {{ e.end }} : {{ e.title }}
-
{{ e.descriptions }}
-
-
-
-
- Publications / Exposures
-
-
-
-
{{ pb.title }}
-
{{ pb.descriptions }}
-
-
-
-
-
diff --git a/web-frontend/src/pages/Help.vue b/web-frontend/src/pages/Help.vue
new file mode 100644
index 00000000..312b7dc5
--- /dev/null
+++ b/web-frontend/src/pages/Help.vue
@@ -0,0 +1,282 @@
+
+ Elements
+
+
+ Text
+ This is bold and this is strong . This is italic and this is emphasized .
+ This is superscript text and this is subscript text.
+ This is underlined and this is code: for (;;) { ... }. Finally, this is a link .
+
+ Nunc lacinia ante nunc ac lobortis. Interdum adipiscing gravida odio porttitor sem non mi integer non faucibus ornare mi ut ante amet placerat aliquet. Volutpat eu sed ante lacinia sapien lorem accumsan varius montes viverra nibh in adipiscing blandit tempus accumsan.
+
+ Heading Level 2
+ Heading Level 3
+ Heading Level 4
+
+ Blockquote
+ Fringilla nisl. Donec accumsan interdum nisi, quis tincidunt felis sagittis eget tempus euismod. Vestibulum ante ipsum primis in faucibus vestibulum. Blandit adipiscing eu felis iaculis volutpat ac adipiscing accumsan faucibus. Vestibulum ante ipsum primis in faucibus lorem ipsum dolor sit amet nullam adipiscing eu felis.
+ Preformatted
+ i = 0;
+
+while (!deck.isInOrder()) {
+ print 'Iteration ' + i;
+ deck.shuffle();
+ i++;
+}
+
+print 'It took ' + i + ' iterations to sort the deck.';
+
+
+
+
+ Lists
+
+
+
Unordered
+
+ Dolor pulvinar etiam.
+ Sagittis adipiscing.
+ Felis enim feugiat.
+
+
Alternate
+
+ Dolor pulvinar etiam.
+ Sagittis adipiscing.
+ Felis enim feugiat.
+
+
+
+
Ordered
+
+ Dolor pulvinar etiam.
+ Etiam vel felis viverra.
+ Felis enim feugiat.
+ Dolor pulvinar etiam.
+ Etiam vel felis lorem.
+ Felis enim et feugiat.
+
+
Icons
+
+
+
+ Actions
+
+
+
+
+
+ Table
+ Default
+
+
+
+
+ Name
+ Description
+ Price
+
+
+
+
+ Item One
+ Ante turpis integer aliquet porttitor.
+ 29.99
+
+
+ Item Two
+ Vis ac commodo adipiscing arcu aliquet.
+ 19.99
+
+
+ Item Three
+ Morbi faucibus arcu accumsan lorem.
+ 29.99
+
+
+ Item Four
+ Vitae integer tempus condimentum.
+ 19.99
+
+
+ Item Five
+ Ante turpis integer aliquet porttitor.
+ 29.99
+
+
+
+
+
+ 100.00
+
+
+
+
+
+ Alternate
+
+
+
+
+ Name
+ Description
+ Price
+
+
+
+
+ Item One
+ Ante turpis integer aliquet porttitor.
+ 29.99
+
+
+ Item Two
+ Vis ac commodo adipiscing arcu aliquet.
+ 19.99
+
+
+ Item Three
+ Morbi faucibus arcu accumsan lorem.
+ 29.99
+
+
+ Item Four
+ Vitae integer tempus condimentum.
+ 19.99
+
+
+ Item Five
+ Ante turpis integer aliquet porttitor.
+ 29.99
+
+
+
+
+
+ 100.00
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/web-frontend/src/pages/Home.vue b/web-frontend/src/pages/Home.vue
index 6654a6cd..50fe2c83 100644
--- a/web-frontend/src/pages/Home.vue
+++ b/web-frontend/src/pages/Home.vue
@@ -2,7 +2,6 @@
import { ref } from 'vue'
import VueWriter from 'vue-writer'
-import HelloWorld from '../components/HelloWorld.vue'
import SocialLink from '../components/SocialLink.vue'
const words = ref([
@@ -23,7 +22,6 @@ const words = ref([
-
+ >
-
+
+
+
Hi, there!
+
Just another fine responsive site template designed by HTML5 UP
+ and released for free under the Creative Commons .
+
+
+
+
+
+
diff --git a/web-frontend/src/pages/Works.vue b/web-frontend/src/pages/Works.vue
index 9ef96d2e..6befcfa9 100644
--- a/web-frontend/src/pages/Works.vue
+++ b/web-frontend/src/pages/Works.vue
@@ -2,8 +2,6 @@
import axios from "axios";
import { ref, onMounted } from "vue";
-import GitHubIcon from '../components/icons/GitHub.vue';
-
const workData = ref([]);
axios.get('/api/v1/works')
.then((resp) => {
@@ -14,7 +12,6 @@ axios.get('/api/v1/works')
console.log(err);
})
-
// Vue lifecycle hooks
onMounted(() => {
console.log(workData);
@@ -23,27 +20,21 @@ onMounted(() => {
-
- Personal Works
-
-
-
-
- {{ w.title }}
-
-
-
-
-
-
- Descriptions: {{ w.descriptions }}
-
- Technical Stacks: {{ w.techStacks }}
-
- {{ w.imageUrl }}
-
-
-
+
+
+
Personal Works
+
Full repository list in GitHub
+
+
+
+
+
diff --git a/web-frontend/src/router/index.js b/web-frontend/src/router/index.js
index 97198f64..44637eb5 100644
--- a/web-frontend/src/router/index.js
+++ b/web-frontend/src/router/index.js
@@ -1,11 +1,10 @@
-// import { createRouter, createWebHistory } from 'vue-router'
-import { createRouter, createWebHistory } from '@ionic/vue-router';
+import { createRouter, createWebHistory } from 'vue-router'
import Home from '../pages/Home.vue';
import About from '../pages/About.vue';
-import Cv from '../pages/Cv.vue';
import Works from '../pages/Works.vue';
import Contact from '../pages/Contact.vue';
+import Help from '../pages/Help.vue';
const routes = [
{
@@ -16,10 +15,6 @@ const routes = [
path: "/about",
component: About
},
- {
- path: "/cv",
- component: Cv
- },
{
path: "/works",
component: Works
@@ -28,6 +23,10 @@ const routes = [
path: "/contact",
component: Contact
},
+ {
+ path: "/help",
+ component: Help
+ },
];
export const router = createRouter({