A modern, interactive portfolio website built with Next.js and React. Features include an interactive map powered by Leaflet, project showcase with Vercel KV integration, GitHub activity feed, tech stack visualization, and a responsive design using Tailwind CSS.
A portfolio with RPG-style achievements, interactive maps, and real-time GitHub integrations, designed to showcase both projects and personality.
- Framework: Next.js 14.1.0
- Frontend: React 18, TypeScript
- Styling: Tailwind CSS
- Database: Vercel KV (Redis)
- Map Integration: React Leaflet, Leaflet.js
- Authentication: Custom admin authentication
- Deployment: Vercel
- Animation: Framer Motion
- Email: Nodemailer
- Interactive map showing location and impact points
- Project showcase with images and descriptions
- Real-time GitHub activity feed
- Tech stack visualization with hover effects
- Contact form with email notifications
- Protected admin dashboard
- Responsive design for all devices
- Dark mode support
- RPG-style experience system with achievements
- Battle status card with GitHub stats
- Collapsible user interface elements
- Animated tooltips and modals
- Interactive timeline with expandable sections
- Full keyboard navigation support
- ARIA labels and roles throughout
- Focus management for modals and tooltips
- Screen reader friendly content structure
- Semantic HTML elements
- Clear focus indicators
- Proper heading hierarchy
- Alt text for images
- Color contrast compliance
- Skip navigation links
- Accessible form labels
- Keyboard-accessible tooltips
- Mobile-friendly touch targets
- Progressive enhancement
- Responsive images
- Error boundaries
- Loading states
- Form validation
- Type safety with TypeScript
- Code splitting
- SEO optimization
- Performance optimization
- Security best practices
- Clean code architecture
- Component reusability
- State management patterns
- Proper error handling
- Node.js >= 18.x
- npm or yarn
- Vercel account (for deployment)
-
Clone the repository:
git clone https://github.com/your-username/portfolio-site.git cd portfolio-site
-
Install dependencies:
npm install # or yarn install
-
Set up environment variables: Create a
.env.local
file:NEXT_PUBLIC_API_KEY=your_api_key VERCEL_KV_REST_API_URL=your_kv_url EMAIL_USER=your_email@example.com EMAIL_PASS=your_password
-
Run the development server:
npm run dev # or yarn dev
-
Open http://localhost:3000 in your browser.
This project is deployed on Vercel.
- Push your code to GitHub.
- Import the project into Vercel.
- Configure environment variables in the Vercel dashboard.
- Click "Deploy."
Alternatively, deploy via CLI:
vercel deploy
Contributions are welcome!
- Fork the repository
- Create a new branch:
git checkout -b feature-branch
- Commit changes:
git commit -m 'Add new feature'
- Push to the branch:
git push origin feature-branch
- Open a pull request
This project is licensed under the MIT License.