A modern, interactive portfolio website for a Frontend React Developer with 2+ years of commercial experience. Built with Next.js, featuring 3D elements, smooth animations, and responsive design.
- Modern Design: Clean, professional interface with smooth animations
- 3D Elements: Interactive 3D models using Three.js
- Responsive: Fully responsive design that works on all devices
- Dark/Light Theme: Toggle between dark and light modes
- Interactive Components: Hover effects, animations, and smooth transitions
- Contact Form: Functional contact form with email integration
- Project Showcase: Dynamic project filtering and categorization
- Skills Visualization: Interactive skill bars and technology stack display
- Performance Optimized: Fast loading with optimized images and code splitting
- Next.js 14 - React framework for production
- React 18 - UI library
- TypeScript - Type-safe JavaScript
- Tailwind CSS - Utility-first CSS framework
- Redux - State management
- Framer Motion - Animation library
- Three.js - 3D graphics library
- React Three Fiber - React renderer for Three.js
- REST API - API integration
- Prisma ORM - Database toolkit
- PostgreSQL - Database (for data integration)
- EmailJS - Email service for contact form
- Vercel - Deployment platform
- Git - Version control
- Figma - Design tools
- ESLint - Code linting
- PostCSS - CSS post-processor
- Sharp - Image optimization
- Node.js 18+
- npm or yarn
-
Clone the repository
git clone https://github.com/An11y/An1zo-portfolio.git cd An1zo-portfolio
-
Install dependencies
npm install # or yarn install
-
Set up environment variables Create a
.env.local
file in the root directory:NEXT_PUBLIC_SERVICE_ID=your_emailjs_service_id NEXT_PUBLIC_TEMPLATE_ID=your_emailjs_template_id NEXT_PUBLIC_PUBLIC_KEY=your_emailjs_public_key
-
Run the development server
npm run dev # or yarn dev
-
Open your browser Navigate to http://localhost:3000
- Home (
/
) - Landing page with hero section and navigation - About (
/about
) - Personal information, skills, and experience - Projects (
/projects
) - Portfolio of work and projects - Contact (
/contact
) - Contact form and social links
The color scheme can be customized in src/app/globals.css
:
:root {
--background: 27 27 27;
--foreground: 220 220 220;
--muted: 140 140 140;
--accent: 254 254 91;
}
Update your personal information in src/app/data.js
:
- Projects data
- Skills and technologies
- Experience and education
- Social links
Replace 3D models in public/models/
and update references in components.
src/
├── app/
│ ├── (sub pages)/
│ │ ├── about/
│ │ ├── contact/
│ │ ├── projects/
│ │ └── layout.jsx
│ ├── data.js
│ ├── globals.css
│ ├── layout.js
│ └── page.js
├── components/
│ ├── about/
│ ├── contact/
│ ├── models/
│ ├── navigation/
│ ├── projects/
│ └── [other components]
└── public/
├── audio/
├── background/
├── models/
└── [other assets]
- Navigation: Circular navigation with smooth animations
- RenderModel: 3D model renderer with Three.js
- Contact Form: Functional form with validation
- Project Cards: Interactive project showcase
- Skill Bars: Animated skill visualization
- Theme Toggle: Dark/light mode switcher
- Image Optimization: Next.js automatic image optimization
- Code Splitting: Dynamic imports for better performance
- Lazy Loading: Components loaded on demand
- Responsive Images: Optimized for different screen sizes
- Caching: Static generation and caching strategies
- Create an EmailJS account at emailjs.com
- Create a new service and template
- Add your credentials to
.env.local
- Customize the email template as needed
- Push your code to GitHub
- Connect your repository to Vercel
- Add environment variables in Vercel dashboard
- Deploy automatically on every push
The app can be deployed to any platform that supports Next.js:
- Netlify
- Railway
- Heroku
- DigitalOcean App Platform
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Three.js community for 3D graphics resources
- Framer Motion for smooth animations
- Tailwind CSS for utility-first styling
- Next.js team for the amazing framework
Project Link: https://github.com/An11y/An1zo-portfolio
⭐ Star this repository if you found it helpful!