package com.example.Portfolio.Controllers;

import java.util.List;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;

import com.example.Portfolio.DTO.Education;
import com.example.Portfolio.DTO.Job;
import com.example.Portfolio.DTO.Project;
import com.example.Portfolio.DTO.ResumeDto;
import com.example.Portfolio.DTO.SkillGroup;

@Controller
public class ResumeController {

        @GetMapping("/resume")
        public String showResume(Model model) {
                ResumeDto resume = new ResumeDto(
                                "Kiyan",
                                "Mckop",
                                "Software Engineer",
                                "082 213 7232",
                                "kiyanmckop395@gmail.com",
                                "https://www.linkedin.com/in/kiyan-mckop-78a67b232/",
                                "15 1st Avenue Marlands, Germiston, 1401",
                                """
                                        I am a driven and curious individual with a passion for
                                        solving problems and bringing creative ideas to life.
                                        As an Honours graduate in Information Technology with
                                        an emphasis in Software Engineering, I approach
                                        challenges with a blend of determination, adaptability,
                                        and a focus on continuous growth. I thrive in collaborative
                                        environments, where I can contribute my skills while also
                                        learning from others.
                                """,
                        List.of(
                                new SkillGroup("Languages", "Java, Python, MySQL, HTML & CSS"),
                                new SkillGroup("Tools", "Spring Boot, HTMX"),
                                new SkillGroup("Soft Skills",
                                                "Communication, Teamwork, Problem-Solving, Adaptability")),
                        List.of(
                                new Job("Graduate Software Engineer", "WBHO Construction",
                                                "Wynberg, Sandton", "2025",
                                                List.of("Developed and maintained internal ERP software systems.")),
                                new Job("Data Capturer", "Wealth Associates", "Bryanston, Sandton",
                                                "2022",
                                                List.of("Accurate data capturing with a focus on confidentiality and integrity.")),
                                new Job("General Office Work", "Wealth Associates",
                                                "Bryanston, Sandton", "2019",
                                                List.of("Administrative and operational support across office functions."))),
                        List.of(
                                new Project("PhotoGallery", "Java, Spring Boot, HTMX, MySQL", "2025",
                                                "https:mckopserver.ddns.net/photogallery"),
                                new Project("TaskManager", "Java, Spring Boot, HTMX, MySQL", "2025",
                                                "https:mckopserver.ddns.net/taskmanager"),
                                new Project("Portfolio Website", "Java, Spring Boot, Thymeleaf, HTML & CSS", "2025",
                                                "https:mckopserver.ddns.net/portfolio")),
                        List.of(
                                new Education("BScHons IT", "Eduvos", "Midrand", "2024",
                                                "Specialized in software engineering and algorithms, with a focus on developing applications and understanding core concepts."),
                                new Education("BSc IT", "Eduvos", "Bedfordview", "2021-2023",
                                                "Specialized in software engineering and algorithms, with a focus on developing applications and understanding core concepts."),
                                new Education("Matric", "Edenvale High School", "Edenvale", "2016-2020",
                                                "Major subjects included Information Technology, Business Studies, and Computer Applications Technology. ")));

                model.addAttribute("resume", resume);
                return "resume";
        }
}
