An open API service indexing awesome lists of open source software.

https://github.com/timtbdev/Next.js-Portfolio-App


https://github.com/timtbdev/Next.js-Portfolio-App

Last synced: 6 months ago
JSON representation

Awesome Lists containing this project

README

          

# Modern Portfolio Website

![Portfolio-App-Product-Hunt](https://github.com/user-attachments/assets/e344041d-564d-4439-af63-c926a97b14d8)
![Banner-02](https://github.com/user-attachments/assets/ebb36170-fdf3-4b47-bbc2-cdaa8f282b5a)
![Banner-03](https://github.com/user-attachments/assets/a1c6a2e5-2c6c-4b86-8ef7-8f8e3d84b2df)
![Banner-04](https://github.com/user-attachments/assets/3b5f415a-3351-49cb-97e7-094b19b774d5)

A modern, blazing-fast portfolio website built with cutting-edge web technologies. Features include SEO optimization, full responsiveness, and a powerful MDX blog system.

## ✨ Features

- ⚡️ **Performance**: Built with Next.js 15 for optimal speed and SEO
- 🎨 **Design**: Modern UI with Tailwind CSS v4 and ShadCN UI components
- 📝 **Blog**: MDX-powered blog system using Fumadocs & Content Collection
- 🔄 **State Management**: Efficient state handling with Zustand and TanStack Query v5
- 📧 **Contact**: Integrated email functionality via Resend

## 🚀 Live Demo

Visit [hire-tim.com](https://hire-tim.com) to see the portfolio in action!

## 🛠️ Tech Stack

- **Framework**: Next.js 15
- **Language**: TypeScript 5
- **Styling**: Tailwind CSS v4, ShadCN UI
- **State Management**: Zustand, TanStack Query v5
- **Content**: MDX, Fumadocs, Content Collection
- **Email**: Resend

## 📋 Prerequisites

- Node.js 18.0 or later
- npm, yarn, or pnpm package manager

## 🚀 Getting Started

1. **Clone the repository**

```bash
git clone https://github.com/yourusername/portfolio-template.git
cd portfolio-template
```

2. **Install dependencies**

```bash
npm install
# or
yarn install
# or
pnpm install
```

3. **Start the development server**
```bash
npm run dev
# or
yarn dev
# or
pnpm dev
```

Visit `http://localhost:3000` to see your portfolio in action!

## ⚙️ Configuration

The project uses several configuration files:

- `next.config.mjs` - Next.js configuration
- `tailwind.config.ts` - Tailwind CSS configuration
- `tsconfig.json` - TypeScript configuration
- `contentlayer.config.ts` - Content management configuration

## 🔐 Environment Variables

Create a `.env.local` file in the root directory with the following variables:

```env
NEXT_PUBLIC_APP_URL=http://localhost:3000
NEXT_PUBLIC_WEB_URL=your_production_domain_name
GITHUB_TOKEN=your_github_token
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_key
RESEND_API_KEY=your_resend_api_key
```

## 📄 License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## 📞 Contact

For questions, feedback, or collaboration:

- 📧 Email: timtb.dev@gmail.com
- 🐦 X (Twitter): [@timtbdev](https://x.com/timtbdev)

---

Made with ❤️ by [Tim](https://hire-tim.com)