💻 Clean, modern design with smooth animations
📱 Fully responsive for all device sizes
🌓 Dark mode support
⚡ Built with Next.js 14 App Router
🔍 SEO optimized with metadata
📝 Interactive project showcase with website previews
📊 Skills visualization
📫 Contact form with email integration via Resend
🔄 Tab-based experience timeline
⚙️ Type-safe development with TypeScript
Framework: Next.js 14
Language: TypeScript
Styling: Tailwind CSS
UI Components: shadcn/ui
Form Handling: React Hook Form & Zod
Email Service: Resend
Animation: Custom fade-in components
Deployment: Vercel
Node.js 18+
npm or yarn
- Clone the repository:
git clone https://github.com/odai-dh/portfolio.git
cd portfolio- Install dependencies:
npm install- Create a .env.local file and add your Resend API key:
RESEND_API_KEY=your_resend_api_key
- Run the development server:
npm run dev- Open http://localhost:3000 in your browser.
Update your portfolio content by editing the Markdown files in content:
portfolio.md: Main content including projects, skills, and experiences
The site uses Tailwind CSS for styling. Customize the theme in tailwind.config.js.
portfolio/
├── public/ # Static assets
│ ├── favicon.ico # Site favicon
│ ├── og-image.png # Open Graph image
│ └── site.webmanifest # PWA manifest
├── src/
│ ├── app/ # App router pages
│ │ ├── actions.ts # Server actions
│ │ ├── globals.css # Global styles
│ │ ├── layout.tsx # Root layout
│ │ └── page.tsx # Home page
│ ├── components/ # React components
│ │ ├── ContactSection.tsx
│ │ ├── ExperienceSection.tsx
│ │ ├── FadeIn.tsx
│ │ ├── Footer.tsx
│ │ ├── MainNav.tsx
│ │ ├── ProjectContentCards.tsx
│ │ ├── SectionWrapper.tsx
│ │ ├── SkillsChart.tsx
│ │ ├── WebsitePreview.tsx
│ │ └── ui/ # UI components
│ ├── content/ # Markdown content
│ │ └── portfolio.md # Portfolio content
│ ├── hooks/ # Custom React hooks
│ │ └── use-toast.ts # Toast notifications
│ └── lib/ # Utility functions
│ └── markdown.ts # Markdown parser
├── .env.local # Environment variables (create this)
├── next.config.js # Next.js configuration
├── package.json # Dependencies
├── tailwind.config.js # Tailwind CSS configuration
└── tsconfig.json # TypeScript configurationDesigned and developed by Odai Dahi
