A modular, scalable portfolio website built with Next.js, shadcn/ui components, and Tailwind CSS.
``` portfolio/ ├── app/ # Next.js App Router │ ├── about/ # About page │ ├── blog/ # Blog section │ │ └── [slug]/ # Individual blog post │ ├── contact/ # Contact page │ ├── projects/ # Projects section │ │ └── [slug]/ # Individual project │ ├── testimonials/ # Testimonials page │ ├── globals.css # Global styles │ ├── layout.tsx # Root layout │ └── page.tsx # Home page ├── components/ # Reusable components │ ├── sections/ # Page sections │ │ ├── hero-section.tsx │ │ ├── about-preview.tsx │ │ └── ... │ ├── ui/ # UI components from shadcn │ ├── navigation.tsx # Navigation component │ ├── footer.tsx # Footer component │ └── ... ├── lib/ # Utility functions │ └── utils.ts ├── public/ # Static assets └── ... ```
- Responsive Design: Fully responsive layout that works on all devices
- Dark Mode Support: Toggle between light and dark themes
- Modular Components: Reusable components for easy maintenance
- Accessibility: Built with accessibility in mind
- Performance Optimized: Fast loading times and efficient asset management
- Home: Introduction with sections for about, featured projects, testimonials, and blog
- About: Detailed information about skills, experience, and background
- Projects: Gallery of projects with filtering capability
- Project Detail: In-depth look at individual projects
- Testimonials: Client and colleague testimonials
- Blog: Articles and insights
- Blog Post: Individual blog articles
- Contact: Contact form and information
- Clone the repository
- Install dependencies: ```bash npm install ```
- Run the development server: ```bash npm run dev ```
- Open http://localhost:3000 in your browser
- Create a new folder in the
app
directory - Add a
page.tsx
file with your content - Update the navigation component to include the new page
- Create a new file in the
components
directory - Import and use the component in your pages
- Use Tailwind CSS classes for styling
- Customize the theme in
tailwind.config.ts
- Add global styles in
app/globals.css
This project can be easily deployed to Vercel:
- Push your code to a GitHub repository
- Import the project in Vercel
- Deploy
MIT