Skip to content

Modern personal portfolio website built with Next.js 14, TypeScript, Tailwind CSS, and shadcn/ui components. Features Radix UI primitives, React Hook Form with Zod validation, and dark/light mode with next-themes.

Notifications You must be signed in to change notification settings

lucasbecker-dev/lucasbecker-dev.github.io

Repository files navigation

Lucas Becker - Portfolio Website

A modern, responsive portfolio website showcasing my skills, projects, and professional experience as a Full Stack Developer specializing in Java and React.

Overview

This portfolio website serves as a comprehensive showcase of my professional journey, technical expertise, and project portfolio. It features a clean, responsive design with dark/light mode support and interactive elements to provide visitors with an engaging experience.

Key Features

  • Responsive Design: Fully responsive layout that works seamlessly across desktop, tablet, and mobile devices
  • Dark/Light Mode: Theme toggle for user preference with system theme detection
  • Interactive UI: Smooth scrolling, hover effects, and animations for an engaging user experience
  • Contact Form: EmailJS-powered contact form with client-side validation
  • SEO Optimized: Structured metadata and semantic HTML for better search engine visibility
  • Accessibility: WCAG-compliant design elements for inclusive user experience

Technology Stack

Frontend Framework & Libraries

  • Next.js 14: React framework with static site generation capabilities
  • React 18: Component-based UI development with hooks
  • TypeScript: Type-safe JavaScript for improved developer experience
  • Tailwind CSS: Utility-first CSS framework for responsive design

UI Components & Design

  • Radix UI: Unstyled, accessible UI components
  • Lucide Icons: Beautiful, consistent icon set
  • Tailwind CSS Animations: Smooth transitions and animations
  • Class Variance Authority: Managing component variants
  • Tailwind Merge: Smart class name merging

Form Handling & Validation

  • Zod: TypeScript-first schema validation
  • EmailJS: Client-side email sending for the contact form
  • Sonner: Toast notifications for form feedback

Performance & Optimization

  • Next.js Image Optimization: Automatic image optimization
  • Static Site Generation: Pre-rendered HTML for fast loading
  • Code Splitting: Automatic code splitting for optimal loading

Deployment & Hosting

  • GitHub Pages: Static site hosting
  • GitHub Actions: Automated deployment workflow

Project Structure

The project follows a clean, modular architecture:

  • /app: Next.js app directory with page components and routing
  • /components: Reusable UI components
  • /hooks: Custom React hooks
  • /lib: Utility functions and shared code
  • /public: Static assets like images and fonts
  • /config: Configuration files for third-party services

UI Components

The UI is built with a component-based approach using a combination of custom components and Radix UI primitives, styled with Tailwind CSS:

  • Button: Multi-variant button component
  • Card: Container component for content sections
  • Badge: Label component for skills and technologies
  • ThemeToggle: Dark/light mode switcher
  • Form Components: Validated input fields with error states

Contact Form

The contact form uses:

  • EmailJS: For sending emails directly from the client-side
  • Zod: For form validation schema
  • Sonner: For toast notifications on submission success/failure

Accessibility & Performance

The website is built with accessibility and performance in mind:

  • Semantic HTML: Proper heading hierarchy and landmark regions
  • ARIA attributes: Enhanced screen reader support
  • Keyboard navigation: Full keyboard accessibility
  • Color contrast: WCAG AA compliant color schemes
  • Optimized assets: Compressed images and efficient code splitting

© 2024 Lucas Becker. All rights reserved.

About

Modern personal portfolio website built with Next.js 14, TypeScript, Tailwind CSS, and shadcn/ui components. Features Radix UI primitives, React Hook Form with Zod validation, and dark/light mode with next-themes.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published