diff --git a/src/main/java/com/example/Portfolio/Controllers/Home.java b/src/main/java/com/example/Portfolio/Controllers/Home.java index 6ecf9dc..f26077b 100644 --- a/src/main/java/com/example/Portfolio/Controllers/Home.java +++ b/src/main/java/com/example/Portfolio/Controllers/Home.java @@ -29,8 +29,8 @@ public class Home { //navbar links model.addAttribute("links", List.of( new Link("About", "#about"), - new Link("Experience", "#experience"), - new Link("Education", "#education"), + new Link("Experience", "#resume-details"), + new Link("Education", "#resume-details"), new Link("Projects", "#projects"), new Link("Contact", "#contact") )); diff --git a/src/main/resources/static/assets/css/home.css b/src/main/resources/static/assets/css/home.css index 0454b91..73d7ce6 100644 --- a/src/main/resources/static/assets/css/home.css +++ b/src/main/resources/static/assets/css/home.css @@ -1,108 +1,96 @@ body { scroll-behavior: smooth; + font-family: 'Inter', system-ui, -apple-system, sans-serif; + color: #333; } section { - padding: 4rem 0; - border-bottom: 1px solid var(--bs-secondary-bg-subtle); + padding: 5rem 0; } -h1, h2, h3, h4, h5 { - letter-spacing: 0.02em; +/* Reduced spacing for Hero */ +.intro { + padding: 100px 0 60px 0; + background: radial-gradient(circle at top right, #f8f9ff 0%, #ffffff 100%); } -/* ---------- NAVBAR ---------- */ -.navbar { - backdrop-filter: blur(6px); +.profile-img { + border: 8px solid #fff; + box-shadow: 0 10px 30px rgba(0,0,0,0.1); + object-fit: cover; + border-radius: 50%; } -.nav-link { +/* Skill Badges */ +.skill-badge { + background: #f0f2f5; + color: #475569; + padding: 0.4rem 0.8rem; + border-radius: 6px; + font-size: 0.85rem; + font-weight: 500; + border: 1px solid rgba(0,0,0,0.05); +} + +/* Timeline UI to fix "weird" wide cards */ +.timeline-card { position: relative; + padding-left: 1.5rem; + border-left: 2px solid #e9ecef; + margin-bottom: 2rem; + transition: 0.3s; } -.nav-link::after { +.timeline-card::before { content: ""; position: absolute; - left: 0; - bottom: -4px; - width: 0; - height: 2px; - background-color: var(--bs-primary); - transition: width 0.3s ease; + left: -7px; + top: 4px; + width: 12px; + height: 12px; + border-radius: 50%; + background: var(--bs-primary); } -.nav-link:hover::after { - width: 100%; -} - -/* ---------- ICON LINKS ---------- */ -.icon-link i { - font-size: 1.6rem; - transition: color 0.3s ease, transform 0.3s ease; -} - -.icon-link:hover i { - color: var(--bs-primary); - transform: translateY(-3px); -} - -/* ---------- INTRO / HERO ---------- */ -.intro { - min-height: 70vh; - display: flex; - align-items: center; - background: linear-gradient(180deg, var(--bs-light), #ffffff); -} - -.intro img { - border: 4px solid var(--bs-white); -} - -.skill-badge { - background: var(--bs-secondary-bg); - border-radius: 2rem; - padding: 0.4rem 0.9rem; - font-size: 0.85rem; -} - -/* ---------- CARDS (GLOBAL) ---------- */ -.card, -.project-item, -.contact-box { - border-radius: 1rem; - border: 1px solid var(--bs-secondary-bg-subtle); - transition: transform 0.3s ease, box-shadow 0.3s ease; - background: var(--bs-white); -} - -.card:hover, -.project-item:hover, -.contact-box:hover { - transform: translateY(-6px); - box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.08); -} - -/* ---------- SECTION HEADERS ---------- */ +/* Section Headers */ .section-header { - text-align: center; - margin-bottom: 3rem; + margin-bottom: 2.5rem; + border-bottom: 2px solid #f0f0f0; + padding-bottom: 0.75rem; } -.section-header i { - font-size: 2rem; - color: var(--bs-primary); +/* Modern Project Cards */ +.project-item { + border-radius: 12px; + background: white; + border: 1px solid rgba(0,0,0,0.05); + transition: all 0.3s ease; } -/* ---------- FOOTER ---------- */ -footer a { - text-decoration: none; - transition: color 0.3s ease; +.project-item:hover { + transform: translateY(-5px); + box-shadow: 0 15px 35px rgba(0,0,0,0.1) !important; + border-color: var(--bs-primary); } -footer a:hover { - color: var(--bs-primary); +.w-fit { + width: fit-content; } -footer i { - font-size: 1.4rem; +/* Form Controls */ +.form-control { + padding: 0.75rem; + border-radius: 8px; + border: 1px solid #e0e0e0; } + +.form-control:focus { + box-shadow: 0 0 0 4px rgba(13, 110, 253, 0.1); +} + +/* Navbar blur effect */ +.navbar { + backdrop-filter: blur(10px); + background-color: rgba(255, 255, 255, 0.8) !important; + border-bottom: 1px solid rgba(0,0,0,0.05); +} \ No newline at end of file diff --git a/src/main/resources/static/assets/css/project.css b/src/main/resources/static/assets/css/project.css index 1a6e154..778ee78 100644 --- a/src/main/resources/static/assets/css/project.css +++ b/src/main/resources/static/assets/css/project.css @@ -1,104 +1,62 @@ body { scroll-behavior: smooth; + font-family: 'Inter', system-ui, -apple-system, sans-serif; + background-color: #f9fbff; /* Very slight blue tint for a technical look */ } -section { - padding: 5rem 0; - border-bottom: 1px solid var(--bs-secondary-bg-subtle); -} - -h1, -h2, -h3, -h4, -h5 { - letter-spacing: 0.02em; -} - +/* --- HERO --- */ .hero { - min-height: 65vh; + padding: 80px 0 40px; + background: #ffffff; +} + +.project-badge { + text-transform: uppercase; + letter-spacing: 0.1rem; + font-size: 0.75rem; + font-weight: 700; + color: var(--bs-primary); +} + +/* --- DYNAMIC CONTENT TABS --- */ +.nav-pills .nav-link { + color: #6c757d; + font-weight: 600; + padding: 0.8rem 1.5rem; + border-radius: 8px; + transition: all 0.2s; +} + +.nav-pills .nav-link.active { + background-color: var(--bs-primary); + box-shadow: 0 4px 12px rgba(13, 110, 253, 0.2); +} + +.dynamic-container { + background: #ffffff; + border: 1px solid rgba(0,0,0,0.05); + border-radius: 16px; + padding: 3rem; + min-height: 400px; /* Prevents jumping when switching tabs */ + box-shadow: 0 10px 30px rgba(0,0,0,0.02); +} + + +/* --- CAROUSEL --- */ +.browser-frame { + border: 1px solid #dee2e6; + border-radius: 12px; + overflow: hidden; + box-shadow: 0 20px 50px rgba(0,0,0,0.1); +} + +.browser-bar { + background: #f1f1f1; + height: 30px; display: flex; align-items: center; - text-align: center; + padding-left: 15px; + gap: 6px; } -.hero img { - transition: transform 0.4s ease; -} - -/* ---------- NAVBAR ---------- */ -.navbar { - backdrop-filter: blur(6px); -} - -.nav-link { - position: relative; -} - -.nav-link::after { - content: ""; - position: absolute; - left: 0; - bottom: -4px; - width: 0; - height: 2px; - background-color: var(--bs-primary); - transition: width 0.3s ease; -} - -.nav-link:hover::after { - width: 100%; -} - -.nav-link::after { - content: ""; - position: absolute; - left: 0; - bottom: -4px; - width: 0; - height: 2px; - background-color: var(--bs-primary); - transition: width 0.3s ease; -} - - -.icon-link i { - font-size: 1.5rem; - transition: color 0.3s ease, transform 0.3s ease; -} - -.icon-link:hover i { - color: var(--bs-primary); - transform: translateY(-2px); -} - - -.card, -.project-box { - border-radius: 1rem; - border: 1px solid var(--bs-secondary-bg-subtle); - transition: transform 0.3s ease, box-shadow 0.3s ease; -} - -.card:hover, -.project-box:hover { - transform: translateY(-5px); - box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.08); -} - -.tech-chips { - display: flex; - flex-wrap: wrap; - gap: 0.5rem; -} - -.tech-chip { - padding: 0.375rem 0.75rem; - font-size: 0.875rem; - font-weight: 500; - border-radius: 999px; - background-color: #f1f3f5; - color: #495057; - border: 1px solid #dee2e6; - white-space: nowrap; -} \ No newline at end of file +.dot { height: 8px; width: 8px; border-radius: 50%; background: #ddd; } \ No newline at end of file diff --git a/src/main/resources/templates/home.html b/src/main/resources/templates/home.html index 30d3828..e7c449f 100644 --- a/src/main/resources/templates/home.html +++ b/src/main/resources/templates/home.html @@ -12,183 +12,135 @@ + -
-
-
- Kiyan Mckop + Kiyan Mckop
-
-

Kiyan Mckop

-

- Software Engineer specializing in Java, Spring Boot, and backend systems. +

Kiyan Mckop

+

+ Software Engineer specializing in Java, Spring Boot, and backend systems.

- -

- Honours graduate in Information Technology with experience building secure, - maintainable enterprise software and internal ERP systems. +

+ Honours graduate in IT with experience building secure, maintainable enterprise software and internal ERP systems.

- - -
+
Java Spring Boot REST APIs SQL Docker
- - -
- - - - - - - - - +
+ + +
-
- -
+
+
+
+
+
+

Experience

+
+
+
+
Graduate Software Engineer
+

WBHO Construction · 2025

+

Developed and maintained internal ERP software systems.

+
+
+
Data Capturer
+

Wealth Associates · 2022

+

Handled sensitive data with high accuracy and integrity.

+
+
+
General Office Work
+

Wealth Associates · 2019

+

Administrative and operational support.

+
+
+
+ +
+
+

Education

+
+
+
+
BSc Honours in IT
+

Software Engineering

+

Graduated with Honours

+
+
+
BSc in IT
+

Software Engineering

+
+
+
Matric Certificate
+

IT | CAT | Business

+
+
+
+
+
+
+ +
- -

Work Experience

+

Projects

-
-
- -
- - -
-
-
Graduate Software Engineer
-

WBHO Construction · 2025

-

Developed and maintained internal ERP software systems.

-
-
- -
-
-
Data Capturer
-

Wealth Associates · 2022

-

Handled sensitive data with high accuracy and integrity.

-
-
- -
-
-
General Office Work
-

Wealth Associates · 2019

-

Administrative and operational support.

-
-
-
-
-
- - -
-
-
- -

Education

-
- -
-
-
-
BSc Honours in Information Technology
-

Specialization: Software Engineering

-

Graduated with Honours

-
-
-
- -
-
-
-
BSc in Information Technology
-

Specialization: Software Engineering

-
-
-
- -
-
-
-
Matric Certificate
-

Major Subjects: IT | CAT |Business

-
-
-
- - -
-
- - -
-
-
- -

Projects

-

Selected technical work

-
- -
-
-
-

-

- View Details +
+
Project Name
+

2025 - Present

+ +

Description goes here...

+ + View Details +
-
-
- -

Contact

-

Let’s work together

-
-
-
-
- - - - +
+

Contact

+

Let’s work together

+
+
+ +
+ +
+
+ +
+
+ +
+
@@ -196,12 +148,20 @@
- +
+ +
+ +
-
- - \ No newline at end of file diff --git a/src/main/resources/templates/project.html b/src/main/resources/templates/project.html index ae90331..f1074d5 100644 --- a/src/main/resources/templates/project.html +++ b/src/main/resources/templates/project.html @@ -2,15 +2,9 @@ - - - Project - - - - + Project @@ -19,115 +13,113 @@ -
- -
-
-

Project Name

- -

- Project description -

- - -
- - - - - - - +
+
+
+
+ Project Case Study +

Project Name

+

Short description.

+ + +
- -
+
-

Application Screenshots

- -
- -
+
-
+ - -
-

Project Overview

-
+
+
+

Project Overview

+
- -
-
-
-
+
+

Technology Stack

+
+
+ +
+

Technical Documentation

+
+
+ +
+

The Roadmap

+
+
+
+
+
+ +
+
+

Video Demonstration

+
+
+
+
+
+ +

Walkthrough Video Coming Soon

+
-
- -
-
-

Documentation

-
-
-
- - -
-
-

Future Plans

-
-
-
- - -
-
-

Demo Video

- -
- Coming Soon -
-
-
- -
- - - \ No newline at end of file