A modern, interactive full-stack developer portfolio website built with React, featuring smooth animations, responsive design, and advanced interactivity. Showcases projects, skills, and provides easy contact options.
- Dynamic Hero Section - Animated headline with typing effect and tech stack ticker
- Smooth Scrolling - Lenis-powered smooth scroll experience
- Advanced Animations - GSAP animations with scroll triggers for engaging transitions
- Skills Showcase - Categorized skills with animated progress bars
- GitHub Integration - Real-time GitHub contribution calendar
- Interactive Terminal - Custom terminal component for additional information
- Project Portfolio - Showcase of featured full-stack projects with live links
- Contact Form - Email integration with EmailJS for direct communication
- Location Map - MapLibre integration showing location
- Dark Theme - Modern dark UI with green accent colors
- Fully Responsive - Mobile-first design that works on all devices
- Social Links - Connected social media profiles
- React 19.2 - UI library
- Vite - Build tool and dev server
- Tailwind CSS 4 - Utility-first CSS framework
- Shadcn UI - High-quality component library
- GSAP - Professional-grade animation library
- Lenis - Smooth scrolling library
- Framer Motion - Animation for React components
- GSAP SplitText - Text animation plugin
- ScrollTrigger - Scroll-based animations
- React Infinite Ticker - Scrolling ticker component
- React GitHub Calendar - GitHub contributions visualization
- EmailJS - Email sending from client-side
- MapLibre GL - Interactive maps
- React Icons - Icon library
- Lucide React - Beautiful icons
- JavaScript Terminal - Custom terminal UI
- Axios - HTTP client (for projects)
- Redux Toolkit - State management (for projects)
- Babel - JavaScript transpiler
- ESLint - Code quality tool
- TypeScript - Type safety
- Node.js (v16 or higher)
- npm or yarn package manager
-
Clone the repository
git clone https://github.com/prkr-28/Portfolio-main.git cd Portfolio-main -
Install dependencies
npm install
-
Configure environment variables
Create a
.envfile in the root directory with:VITE_EMAILJS_SERVICE_ID=your_emailjs_service_id VITE_EMAILJS_TEMPLATE_ID=your_emailjs_template_id VITE_EMAILJS_PUBLIC_KEY=your_emailjs_public_key
-
Start the development server
npm run dev
The application will be available at
http://localhost:5173
npm run buildThis creates an optimized build in the dist directory.
npm run previewThe portfolio can be deployed to:
- Vercel - Zero-config deployment
- Netlify - Git-connected deployment
- GitHub Pages - Free hosting
- Any static host - Just serve the
distdirectory
Portfolio/
βββ src/
β βββ components/
β β βββ Navbar.jsx # Navigation component
β β βββ Footer.jsx # Footer component
β β βββ GithubCalendar.jsx # GitHub contributions
β β βββ CustomTerminal.jsx # Interactive terminal
β β βββ ui/
β β βββ button.jsx # Custom button
β β βββ map.jsx # Map component
β βββ pages/
β β βββ Home.jsx # Hero section
β β βββ About.jsx # About & skills
β β βββ Project.jsx # Projects showcase
β β βββ Contact.jsx # Contact form
β βββ constant/
β β βββ projectData.js # Featured projects
β β βββ ContactData.jsx # Contact information
β βββ assets/
β β βββ images/ # Images and icons
β βββ lib/
β β βββ utils.js # Utility functions
β βββ App.jsx # Main component
β βββ App.css # Global styles
β βββ main.jsx # Entry point
βββ public/
β βββ favicon/ # Favicon files
β βββ themes/ # Theme configurations
βββ index.html # HTML template
βββ package.json # Dependencies
βββ vite.config.js # Vite configuration
βββ eslint.config.js # ESLint rules
βββ components.json # Component library config
- Animated headline with gradient text
- Tech stack ticker
- Call-to-action buttons
- Status badge (Open to Work)
- Terminal-style prompt
- Professional card with avatar and bio
- Interactive skill bars (Frontend, Backend, Frameworks, Tools)
- JSON-style information panel
- Custom terminal with commands (
help,hobbies,certificates) - GitHub contribution calendar
- Feature cards (Frontend Dev, Backend Dev, Database, UI/UX)
Features 6 showcase projects:
- CivicPulse - AI-powered community reporting (MERN + Gemini API)
- Quizly - Quiz & flashcard platform (Next.js + Grok AI)
- ResumeXpert - Resume builder (React + HTML2Canvas)
- Vybe - Social media platform (MERN + Socket.io)
- TastyBytes - Food delivery app (React + Swiggy API)
- LinkedIn Clone - Social network (MERN + Socket.io)
Each project card includes:
- Project image/screenshot
- Description
- Technology stack
- Live demo link
- GitHub repository link
- Project type badge
- Timestamp
- Contact information cards (Email, Phone, Location, LinkedIn, GitHub)
- Interactive contact form
- Email validation
- Loading states
- Success toast notifications
- Location map (MapLibre)
- Response time indicator
# Development server
npm run dev
# Build for production
npm run build
# Preview production build
npm run preview
# Lint code
npm run lint- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)
The portfolio is fully responsive with breakpoints:
- Mobile: < 640px (sm)
- Tablet: 640px - 1024px (md, lg)
- Desktop: > 1024px (xl, 2xl)
All components adapt gracefully to different screen sizes.
- Image Lazy Loading - Images load on demand
- Code Splitting - Vite handles automatic code splitting
- CSS Optimization - Tailwind purges unused styles
- Animation Performance - GSAP optimized for 60fps
- Smooth Scrolling - Lenis for better scroll performance
- Environment Variables - Sensitive keys stored in
.env - Email Validation - Client-side form validation
- CORS Handling - EmailJS handles cross-origin requests safely
- Input Sanitization - Form inputs are trimmed and validated
This project is open source and available under the MIT License.
Contributions are welcome! Feel free to:
- Report bugs
- Suggest features
- Submit pull requests
- Email: [priyanshu402muz@gmail.com]
- GitHub: @prkr-28
- LinkedIn: @prkr28
- Twitter: @prkr
- Instagram: @prkr
- Built with React
- Styled with Tailwind CSS
- Animated with GSAP
- Components from Shadcn UI
- Smooth scrolling with Lenis
- Deployed with Vercel
Made with β€οΈ by Priyanshu