A modern, responsive portfolio website built with React, featuring smooth animations, interactive components, and a clean design. Showcase your professional experience, projects, skills, and certifications in an elegant and engaging way.
π Live Demo
- Responsive Design: Fully mobile-friendly with Bootstrap for elegant styling across all devices
- Smooth Animations: Powered by Framer Motion for fluid page transitions and component animations
- Type Animation: Eye-catching typing animation effects on key sections
- Contact Form: Integrated email functionality using EmailJS for direct messaging
- Multiple Sections: Home, About, Summary, Experience, Education, Projects, Skills, Certifications, and Contact
- Modern UI: Bootstrap components for a professional, clean interface
- Icon Library: Rich set of icons from React Icons for visual appeal
- GitHub Pages Deployment: Easy deployment pipeline with gh-pages integration
- Frontend Framework: React 19.1.0
- Styling:
- Bootstrap 5.3.7
- React Bootstrap 2.10.10
- Custom CSS
- Animation: Framer Motion 12.23.0
- Effects: React Type Animation 3.2.0
- Icons: React Icons 5.5.0
- Email Service: EmailJS 3.2.0
- Testing: React Testing Library, Jest
- Build Tool: React Scripts 5.0.1
- Deployment: GitHub Pages
Before getting started, ensure you have the following installed:
- Node.js (v14 or higher) - Download
- npm (comes with Node.js) or yarn
- Git for version control
git clone https://github.com/Adarsh09675/Portfolio.git
cd portfolionpm installThis will install all required packages including React, Bootstrap, Framer Motion, and other dependencies listed in package.json.
npm startThe application will open automatically at http://localhost:3000. The page will reload whenever you make changes.
npm testLaunches the test runner in interactive watch mode for running unit tests.
To create an optimized production build:
npm run buildBuilds the app for production to the build folder. The build is minified and optimized for the best performance.
This project is configured for deployment on GitHub Pages.
npm run deployThis command:
- Builds the production version of your app
- Deploys it to your GitHub Pages site
Make sure to:
- Update the
homepagefield inpackage.jsonwith your GitHub Pages URL - Ensure your repository settings have GitHub Pages enabled
portfolio/
βββ public/
β βββ index.html
β βββ manifest.json
β βββ robots.txt
βββ src/
β βββ components/
β β βββ Header.js # Navigation header
β β βββ Home.js # Hero/landing section
β β βββ About.js # About me section
β β βββ Summary.js # Professional summary
β β βββ Experience.js # Work experience
β β βββ Educations.js # Education background
β β βββ Projects.js # Portfolio projects
β β βββ Skills.js # Technical skills
β β βββ Certifications.js # Certifications/credentials
β β βββ Contact.js # Contact form
β βββ assets/ # Images, icons, and other media
β βββ App.js # Main app component
β βββ App.css # Main app styles
β βββ index.js # React entry point
β βββ index.css # Global styles
β βββ setupTests.js # Test configuration
β βββ reportWebVitals.js # Performance metrics
β βββ App.test.js # App component tests
βββ build/ # Production build output (generated)
βββ package.json # Project dependencies and scripts
βββ Jenkinsfile # CI/CD pipeline configuration
βββ README.md # This file
βββ .gitignore # Git ignore rules
To personalize this portfolio with your information, update the following component files:
- Update navigation links
- Add your logo or name
- Customize header styling
- Add your headline and tagline
- Update profile image
- Customize hero section content
- Write your bio and professional summary
- Add personality and background info
- Update profile image
- Highlight your key strengths
- Add career objectives
- Showcase unique selling points
- Add your work experience entries
- Include job titles, companies, dates, and descriptions
- Highlight achievements and responsibilities
- List your educational background
- Include degrees, institutions, graduation dates
- Add relevant coursework or achievements
- Showcase your best projects
- Include project descriptions, technologies used, and links
- Add project images/screenshots
- Link to GitHub repositories or live demos
- List your technical and soft skills
- Organize by categories (Frontend, Backend, Tools, etc.)
- Consider adding proficiency levels
- Display your certifications and credentials
- Include issuing organizations and dates
- Add links to credential verification pages
- Set up EmailJS for contact form functionality
- Update the service ID and template ID from your EmailJS account
- Customize contact information (email, phone, social links)
To enable the contact form functionality:
- Sign up for a free account at EmailJS
- Create an email service (Gmail, Outlook, etc.)
- Create an email template
- Update the
SERVICE_ID,TEMPLATE_ID, andPUBLIC_KEYin the Contact component with your EmailJS credentials
The project uses React Testing Library for unit tests.
# Run tests
npm test
# Run tests with coverage
npm test -- --coverageExample test file: src/App.test.js
The portfolio is fully responsive and tested on:
- Desktop browsers (Chrome, Firefox, Safari, Edge)
- Tablets (iPad, Android tablets)
- Mobile devices (iPhone, Android phones)
Bootstrap's grid system ensures the layout adapts beautifully to all screen sizes.
npm start- Start development server at http://localhost:3000npm build- Create production buildnpm test- Run tests in watch modenpm deploy- Build and deploy to GitHub Pagesnpm eject- Expose webpack configuration (β οΈ one-way operation)
Contributions are welcome! Feel free to:
- Fork the repository
- Create a feature branch (
git checkout -b feature/improvement) - Commit your changes (
git commit -m 'Add improvement') - Push to the branch (
git push origin feature/improvement) - Open a Pull Request
This project is open source and available under the MIT License. Feel free to use it as a template for your own portfolio.
Adarsh
- GitHub: @Adarsh09675
- Portfolio: https://Adarsh09675.github.io/Portfolio
Potential features for future versions:
- Dark mode toggle
- Multi-language support
- Blog section
- Comments on projects
- Resume download functionality
- Analytics integration
- SEO optimization
- Accessibility improvements (WCAG compliance)
If you have questions or need help:
- Open an issue on GitHub
- Check the React Documentation
- Visit Bootstrap Documentation
- Review Framer Motion Docs
If this project helped you, please consider:
- β Starring the repository
- π Reporting bugs and issues
- π‘ Suggesting improvements
- π Contributing code improvements
Happy coding! π
Change Line 12.
- Home
File: src/components/Home.js
Change lines: 27, 33, 35, 37, 39, 50.
- About
File: src/components/About.js
Change lines: 22, 24, 27, 30, 33.
- Certifications
File: src/components/Certifications.js
Change lines: 8-12, 15-17.
- Contact
File: src/components/Contact.js
Change lines: 18, 27, 31, 35, 40, 44, 50, 60.
- Education
File: src/components/Education.js
Change lines: 8-11, 14-17, 20-23.
- Experience
File: src/components/Experience.js
Change lines: 8-12, 15-19.
- Projects
File: src/components/Projects.js
Change lines: 7-13, 16-22, 25-31, 34-40.
- Skills
File: src/components/Skills.js
Change lines: 6-10.
- Summary
File: src/components/Summary.js
Change Line 17.
π Assets Folder
Place your resume in this folder with the format:
name.pdf.pdf
Place your profile image with the format:
name.jpg.jpg