Skip to content

Adarsh09675/Portfolio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

13 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

My Portfolio

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


✨ Features

  • 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

πŸ›  Tech Stack

  • 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

πŸ“‹ Prerequisites

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

πŸš€ Installation & Setup

1. Clone the Repository

git clone https://github.com/Adarsh09675/Portfolio.git
cd portfolio

2. Install Dependencies

npm install

This will install all required packages including React, Bootstrap, Framer Motion, and other dependencies listed in package.json.

3. Start the Development Server

npm start

The application will open automatically at http://localhost:3000. The page will reload whenever you make changes.

4. Run Tests (Optional)

npm test

Launches the test runner in interactive watch mode for running unit tests.


πŸ“¦ Build for Production

To create an optimized production build:

npm run build

Builds the app for production to the build folder. The build is minified and optimized for the best performance.


🌍 Deployment

This project is configured for deployment on GitHub Pages.

Deploy to GitHub Pages

npm run deploy

This command:

  1. Builds the production version of your app
  2. Deploys it to your GitHub Pages site

Make sure to:

  • Update the homepage field in package.json with your GitHub Pages URL
  • Ensure your repository settings have GitHub Pages enabled

πŸ“ Project Structure

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

🎨 Customization Guide

To personalize this portfolio with your information, update the following component files:

1. Header Navigation (src/components/Header.js)

  • Update navigation links
  • Add your logo or name
  • Customize header styling

2. Home Section (src/components/Home.js)

  • Add your headline and tagline
  • Update profile image
  • Customize hero section content

3. About Section (src/components/About.js)

  • Write your bio and professional summary
  • Add personality and background info
  • Update profile image

4. Professional Summary (src/components/Summary.js)

  • Highlight your key strengths
  • Add career objectives
  • Showcase unique selling points

5. Experience (src/components/Experience.js)

  • Add your work experience entries
  • Include job titles, companies, dates, and descriptions
  • Highlight achievements and responsibilities

6. Education (src/components/Educations.js)

  • List your educational background
  • Include degrees, institutions, graduation dates
  • Add relevant coursework or achievements

7. Projects (src/components/Projects.js)

  • Showcase your best projects
  • Include project descriptions, technologies used, and links
  • Add project images/screenshots
  • Link to GitHub repositories or live demos

8. Skills (src/components/Skills.js)

  • List your technical and soft skills
  • Organize by categories (Frontend, Backend, Tools, etc.)
  • Consider adding proficiency levels

9. Certifications (src/components/Certifications.js)

  • Display your certifications and credentials
  • Include issuing organizations and dates
  • Add links to credential verification pages

10. Contact Form (src/components/Contact.js)

  • 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)

πŸ“§ Setting Up EmailJS for Contact Form

To enable the contact form functionality:

  1. Sign up for a free account at EmailJS
  2. Create an email service (Gmail, Outlook, etc.)
  3. Create an email template
  4. Update the SERVICE_ID, TEMPLATE_ID, and PUBLIC_KEY in the Contact component with your EmailJS credentials

πŸ§ͺ Testing

The project uses React Testing Library for unit tests.

# Run tests
npm test

# Run tests with coverage
npm test -- --coverage

Example test file: src/App.test.js


πŸ“± Responsive Design

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.


πŸ”§ Available Scripts

  • npm start - Start development server at http://localhost:3000
  • npm build - Create production build
  • npm test - Run tests in watch mode
  • npm deploy - Build and deploy to GitHub Pages
  • npm eject - Expose webpack configuration (⚠️ one-way operation)

🀝 Contributing

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

πŸ“„ License

This project is open source and available under the MIT License. Feel free to use it as a template for your own portfolio.


πŸ‘€ Author

Adarsh


🎯 Future Enhancements

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)

πŸ“ž Support

If you have questions or need help:


🌟 Show Your Support

If this project helped you, please consider:

  • ⭐ Starring the repository
  • πŸ› Reporting bugs and issues
  • πŸ’‘ Suggesting improvements
  • πŸ”€ Contributing code improvements

Happy coding! πŸš€

Change Line 12.

  1. Home

File: src/components/Home.js

Change lines: 27, 33, 35, 37, 39, 50.

  1. About

File: src/components/About.js

Change lines: 22, 24, 27, 30, 33.

  1. Certifications

File: src/components/Certifications.js

Change lines: 8-12, 15-17.

  1. Contact

File: src/components/Contact.js

Change lines: 18, 27, 31, 35, 40, 44, 50, 60.

  1. Education

File: src/components/Education.js

Change lines: 8-11, 14-17, 20-23.

  1. Experience

File: src/components/Experience.js

Change lines: 8-12, 15-19.

  1. Projects

File: src/components/Projects.js

Change lines: 7-13, 16-22, 25-31, 34-40.

  1. Skills

File: src/components/Skills.js

Change lines: 6-10.

  1. 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

About

A modern and responsive React portfolio website featuring smooth animations, interactive UI, and multiple sections to showcase projects, skills, experience, and certifications. Built with React, Bootstrap, and Framer Motion, with EmailJS integration for contact functionality and easy deployment on GitHub Pages.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors