portfolio2025

Portfolio Website

A modern, animated portfolio website built with Next.js 15, featuring beautiful UI animations powered by Framer Motion and a data-driven architecture for easy content updates.

✨ Features

🛠️ Tech Stack

📂 Project Structure

portfolio/
├── app/                    # Next.js app directory
│   ├── api/               # API routes
│   ├── globals.css        # Global styles
│   ├── layout.tsx         # Root layout
│   └── page.tsx           # Home page
├── components/            # React components
│   ├── sections/         # Section components
│   └── ui/               # shadcn/ui components
├── data/                  # Content data files
│   ├── bio.ts            # Personal information
│   ├── experiences.ts    # Work experience
│   ├── projects.ts       # Project showcase
│   └── contact.ts        # Contact information
├── types/                 # TypeScript type definitions
└── lib/                   # Utility functions

🚀 Getting Started

Prerequisites

Installation

  1. Clone the repository:
    git clone https://github.com/dwk601/portfolio2025.git
    cd portfolio
    
  2. Install dependencies:
    npm install
    
  3. Run the development server:
    npm run dev
    
  4. Open http://localhost:3000 in your browser

📝 Updating Content

All content is managed through simple TypeScript files in the /data directory:

Personal Information (data/bio.ts)

Update your name, title, description, avatar, and social links.

Work Experience (data/experiences.ts)

Add or modify your work experiences with:

Projects (data/projects.ts)

Showcase your projects with:

Contact Info (data/contact.ts)

Update your email, location, and availability status.

🎨 Customization

Colors

Edit app/globals.css to customize the color scheme using OKLCH color space:

--primary: oklch(...);
--secondary: oklch(...);

Animations

Modify animation variants in section components to customize entrance effects.

🏗️ Build & Deploy

Build for Production

npm run build

Deploy on Vercel

The easiest way to deploy is using Vercel:

Deploy with Vercel

Or manually:

  1. Push your code to GitHub
  2. Import the project in Vercel
  3. Deploy with one click

📦 Scripts

🔧 Configuration

Image Domains

Add allowed image domains in next.config.ts:

images: {
  remotePatterns: [
    {
      protocol: "https",
      hostname: "your-domain.com",
    },
  ],
}

📄 License

This project is open source and available under the MIT License.

🤝 Contributing

Contributions, issues, and feature requests are welcome!

📧 Contact

For questions or feedback, please reach out through the contact form on the portfolio website.


Built with ❤️ using Next.js and Framer Motion