Skip to content

🀩 Portfolio App built with Next.js 15, Tailwind CSS and Supabase.

Notifications You must be signed in to change notification settings

timtbdev/Next.js-Portfolio-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🀩 Next.js Portfolio App

TypeScript Next.js Tailwind CSS Supabase Shadcn UI TanStack Query Resend Zustand Drizzle Code Style License: MIT

Portfolio-App-Product-Hunt Portfolio-App-Product-Hunt (desktop) Portfolio-App-Product-Hunt (mobile)

A blazing-fast, SEO-optimized, and fully responsive portfolio website built with modern web technologies.

🌟 Tech Stacks

  • πŸš€ Built with Next.js 15 and TypeScript 5
  • πŸ’¨ Styled using Tailwind CSS v4 and ShadCN UI
  • πŸ” Authentication and database with Supabase
  • πŸ“Š State management with Zustand and TanStack Query v5
  • πŸ“§ Email functionality via Resend
  • πŸ—ƒοΈ Type-safe ORM with Drizzle

🌎 Live Demo: timtb.dev

πŸ” Search Engine Optimization

SEO Optimization

πŸ“Š Performance

Performance Optimization

πŸ“±πŸ’» Responsive Design

navigation-links.mp4

πŸ”Ž Live Search

live-search.mov

πŸ“ Blog with MDX Support

blog-feature.mov

πŸš€ Getting Started

Prerequisites

  • Node.js 18.0 or later
  • npm or yarn or pnpm

Installation

  1. Clone the repository
git clone https://github.com/yourusername/portfolio-template.git
cd portfolio-template
  1. Install dependencies
npm install
# or
yarn install
# or
pnpm install
  1. Start the development server
npm run dev
# or
yarn dev
# or
pnpm dev

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

πŸ”§ Configuration

Key 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 with the following variables:

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 file for details.

πŸ“ž Contact

For questions or feedback, reach out through: