From 83de07c37e2f6e722836c26a709c2f01ef4b7d5d Mon Sep 17 00:00:00 2001 From: Josephat-S Date: Mon, 25 May 2026 22:42:00 +0200 Subject: [PATCH] implemented a full designed portfolio template --- .../nextjs-monolith/app/about/page.tsx | 132 ++++++++++++ .../nextjs-monolith/app/contact/page.tsx | 192 ++++++++++++++++++ .../portfolio/nextjs-monolith/app/page.tsx | 189 +++++++++++++++-- .../nextjs-monolith/app/projects/page.tsx | 136 +++++++++++++ .../nextjs-monolith/components/Footer.tsx | 113 +++++++++++ .../components/ProjectCard.tsx | 64 ++++++ .../portfolio/nextjs-monolith/lib/nav.ts | 6 + 7 files changed, 810 insertions(+), 22 deletions(-) create mode 100644 templates/portfolio/nextjs-monolith/app/about/page.tsx create mode 100644 templates/portfolio/nextjs-monolith/app/contact/page.tsx create mode 100644 templates/portfolio/nextjs-monolith/app/projects/page.tsx create mode 100644 templates/portfolio/nextjs-monolith/components/Footer.tsx create mode 100644 templates/portfolio/nextjs-monolith/components/ProjectCard.tsx create mode 100644 templates/portfolio/nextjs-monolith/lib/nav.ts diff --git a/templates/portfolio/nextjs-monolith/app/about/page.tsx b/templates/portfolio/nextjs-monolith/app/about/page.tsx new file mode 100644 index 0000000..6403daa --- /dev/null +++ b/templates/portfolio/nextjs-monolith/app/about/page.tsx @@ -0,0 +1,132 @@ +import Footer from '../../components/Footer'; + +const timeline = [ + { + period: '2023 — Present', + title: 'Senior Frontend Engineer', + company: 'TechCorp', + description: 'Leading the frontend architecture for a SaaS platform serving 100k+ users. Driving performance optimizations and mentoring junior developers.', + }, + { + period: '2021 — 2023', + title: 'Frontend Developer', + company: 'StartupXYZ', + description: 'Built and shipped multiple customer-facing features from concept to production. Introduced TypeScript and improved test coverage by 60%.', + }, + { + period: '2019 — 2021', + title: 'Junior Developer', + company: 'AgencyName', + description: 'Developed responsive websites and web applications for diverse clients across e-commerce, healthcare, and education sectors.', + }, + { + period: '2018', + title: 'Computer Science Degree', + company: 'State University', + description: 'Graduated with honors. Focused on algorithms, data structures, and human-computer interaction. Built a capstone project using React and Node.js.', + }, +]; + +const skills = [ + 'React', 'Next.js', 'TypeScript', 'Tailwind CSS', + 'Node.js', 'PostgreSQL', 'Git', 'Figma', +]; + +export default function AboutPage() { + return ( +
+
+ {/* Hero / Intro */} +
+ {/* Text */} +
+

About Me

+
+

+ Hi there! I'm Alex Chen, a full-stack developer based in San Francisco + with over 5 years of experience building web applications. I'm passionate + about creating intuitive, performant digital experiences that make a real + difference in people's lives. +

+

+ My journey into software development started with a curiosity about how + things work on the internet. That curiosity turned into a career where I + get to solve complex problems every day. I specialize in React ecosystems, + TypeScript, and modern CSS — but I'm always exploring new technologies. +

+

+ When I'm not coding, you'll find me contributing to open source projects, + writing technical blog posts, or hiking trails around the Bay Area. I believe + in continuous learning and sharing knowledge with the community. +

+
+
+ + {/* Image Placeholder */} +
+
+
+
+ AC +
+

Profile Photo

+
+
+
+
+ + {/* Experience Timeline */} +
+

Experience

+ +
+ {timeline.map((entry, index) => ( +
+ {/* Dot */} +
+ +
+ + {entry.period} + +

+ {entry.title} +

+

{entry.company}

+

+ {entry.description} +

+
+
+ ))} +
+
+ + {/* Tech Stack */} +
+

+ Tech Stack +

+ +
+ {skills.map((skill) => ( +
+
+ + {skill.charAt(0)} + +
+ {skill} +
+ ))} +
+
+
+ +
+
+ ); +} diff --git a/templates/portfolio/nextjs-monolith/app/contact/page.tsx b/templates/portfolio/nextjs-monolith/app/contact/page.tsx new file mode 100644 index 0000000..c672d4f --- /dev/null +++ b/templates/portfolio/nextjs-monolith/app/contact/page.tsx @@ -0,0 +1,192 @@ +import Footer from '../../components/Footer'; + +export default function ContactPage() { + return ( +
+
+
+

Contact

+

+ Have a question or want to work together? Drop me a message. +

+
+ +
+ {/* Contact Form */} +
+
+ {/* Name */} +
+ + +
+ + {/* Email */} +
+ + +
+ + {/* Subject */} +
+ + +
+ + {/* Message */} +
+ +