Skip to content

Forquosh/portfolio-website

Repository files navigation

Personal Portfolio Website

A modern, responsive portfolio website built with Next.js 15, TypeScript and Tailwind CSS. Features a clean and minimal design with dark/light mode support and dynamic content management through MDX. Deployed on Vercel.

Features

  • 🌓 Dark/Light mode support
  • 📱 Fully responsive design
  • 📝 MDX-based blog posts and projects
  • 🔍 Search functionality for posts
  • 📬 Contact form with email integration
  • 🎨 Clean, minimal UI with Tailwind CSS
  • ⚡ Fast page loads with Next.js App Router

Tech Stack

  • Framework: Next.js 15
  • Language: TypeScript
  • Styling: Tailwind CSS
  • Content: MDX with gray-matter
  • Email: Resend
  • UI Components: Radix UI, Shadcn UI
  • Form Handling: React Hook Form + Zod
  • Notifications: Sonner

Getting Started

  1. Clone the repository
  2. Install dependencies:
pnpm install
  1. Create a .env file with required environment variables for managing emails and newsletter:
RESEND_API_KEY=your_resend_api_key
RESEND_AUDIENCE_ID=your_resend_audience_id
  1. Run the development server:
pnpm dev
  1. Open http://localhost:3000 in your browser

Project Structure

  • /src/app/* - App router pages and layouts
  • /src/components/* - React components
  • /src/content/* - MDX content (posts and projects)
  • /src/lib/* - Utility functions and type definitions
  • /src/emails/* - Email templates
  • /public/* - Static assets

Content Management

Posts and projects are managed through MDX files in the /src/content directory. Each content piece includes frontmatter for metadata:

---
author: Your Name
title: Post Title
date: YYYY-MM-DD
image: /images/posts/image.jpg
source: http://blabla
summary: Brief description
---

License

MIT License