A modern, responsive portfolio website built with Next.js 14, TypeScript, and Tailwind CSS. This portfolio showcases professional skills, projects, certifications, and provides a contact form for potential collaborations. The website features smooth animations, a custom cursor, and a clean, professional design.
- Modern UI/UX: Built with Next.js 14 and Tailwind CSS
- Interactive Components:
- Custom cursor with smooth animations
- Animated hero section with typewriter effect
- Dynamic project showcase with hover effects
- Skills visualization with progress bars
- Contact form with email integration
- Responsive Design: Fully responsive across all devices
- Performance Optimized: Built with Next.js for optimal performance
- TypeScript Support: Type-safe development
- Analytics Integration: Vercel Analytics for tracking
- Custom Animations: Using Framer Motion for smooth transitions
- Dark Mode Support: Automatic theme switching
- Custom Cursor: Interactive cursor with hover effects
- Modern Typography: Clean and readable fonts
- Smooth Scrolling: Enhanced user experience
- Framework: Next.js 14
- Language: TypeScript
- Styling: Tailwind CSS
- Animation: Framer Motion
- Icons: Lucide React
- Form Handling: EmailJS
- Package Manager: npm/yarn
- Code Quality: ESLint
- Version Control: Git
- Deployment: Vercel
├── app/ # Next.js app directory
│ ├── services/ # Service-related pages
│ ├── fonts/ # Custom fonts
│ ├── globals.css # Global styles
│ ├── layout.tsx # Root layout
│ └── page.tsx # Home page
├── components/ # React components
│ ├── About.tsx # About section
│ ├── Certifications.tsx # Certifications showcase
│ ├── Contact.tsx # Contact form
│ ├── CustomCursor.tsx # Custom cursor component
│ ├── Footer.tsx # Footer component
│ ├── Header.tsx # Header component
│ ├── Hero.tsx # Hero section
│ ├── HireMe.tsx # Hire me section
│ ├── Navigation.tsx # Navigation menu
│ ├── Projects.tsx # Projects showcase
│ ├── Services.tsx # Services section
│ └── Skills.tsx # Skills section
├── public/ # Static assets
└── lib/ # Utility functions and configurations
- Node.js (v18 or higher)
- npm or yarn
- Git
- Clone the repository:
git clone [your-repo-url]
cd portfolio-website- Install dependencies:
npm install
# or
yarn install- Create a
.envfile in the root directory and add your environment variables:
NEXT_PUBLIC_EMAILJS_USER_ID=your_user_id
NEXT_PUBLIC_EMAILJS_TEMPLATE_ID=your_template_id
NEXT_PUBLIC_EMAILJS_SERVICE_ID=your_service_id- Run the development server:
npm run dev
# or
yarn dev- Open http://localhost:3000 to view your portfolio.
npm run dev- Start development servernpm run build- Build production versionnpm run start- Start production servernpm run lint- Run ESLint
- Navigate to the
Projects.tsxcomponent - Add your project details in the projects array
- Include project images in the
public/projectsdirectory
- Open
Skills.tsx - Modify the skills array with your skills and proficiency levels
- Check
tailwind.config.tsfor theme customization - Modify the color palette to match your brand
The easiest way to deploy your Next.js app is to use the Vercel Platform.
- Push your code to GitHub
- Connect your repository to Vercel
- Configure environment variables
- Deploy!
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request. Here's how you can contribute:
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
For any questions or suggestions, feel free to reach out through the contact form on the website or create an issue in the repository.