Skip to content

A responsive and visually appealing personal portfolio built with React, showcasing skills, projects, and experience with seamless navigation.

Notifications You must be signed in to change notification settings

kumarabhishek188/My-Portfolio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌟 Abhishek Kumar - Portfolio

A modern, responsive portfolio website built with React.js featuring dark/light theme toggle, smooth animations, and mobile-first design.

Portfolio Preview CSS3 JavaScript

✨ Features

🎨 Theme System

  • Dark/Light Mode Toggle - Beautiful animated theme switcher
  • Persistent Preferences - Remembers user's theme choice
  • Smooth Transitions - Elegant color transitions between themes
  • Accessibility - Proper ARIA labels and keyboard navigation

πŸ“± Responsive Design

  • Mobile-First Approach - Optimized for all screen sizes
  • Touch-Friendly - 44px minimum touch targets
  • Flexible Grid - Adapts from 3 columns to 1 column
  • Cross-Device Compatibility - Works on desktop, tablet, and mobile

🎭 Animations & Effects

  • Hover Animations - Cards lift and glow on hover
  • Entrance Animations - Staggered fade-in effects
  • Image Zoom - Subtle image scaling on hover
  • Button Effects - Shimmer and lift animations
  • Smooth Transitions - 60fps animations with cubic-bezier easing

πŸš€ Performance

  • Optimized Images - Proper sizing and lazy loading
  • CSS Variables - Efficient theme switching
  • Minimal Dependencies - Lightweight and fast
  • SEO Optimized - Proper meta tags and structure

πŸ› οΈ Technologies Used

  • React.js - Frontend framework
  • CSS3 - Styling and animations
  • JavaScript ES6+ - Modern JavaScript features
  • CSS Grid & Flexbox - Responsive layouts
  • CSS Custom Properties - Theme management
  • LocalStorage - Theme persistence

πŸ“¦ Installation & Setup

Prerequisites

  • Node.js (version 14 or higher)
  • npm or yarn package manager

Getting Started

  1. Clone the repository

    git clone https://github.com/kumarabhishek188/My-Portfolio.git
    cd My-Portfolio
  2. Install dependencies

    npm install
  3. Start the development server

    npm start
  4. Open your browser Navigate to http://localhost:3000

Build for Production

npm run build

πŸ“ Project Structure

Portfolio-main/
β”œβ”€β”€ public/
β”‚   └── index.html
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ about/
β”‚   β”‚   β”œβ”€β”€ contact/
β”‚   β”‚   β”œβ”€β”€ experience/
β”‚   β”‚   β”œβ”€β”€ footer/
β”‚   β”‚   β”œβ”€β”€ header/
β”‚   β”‚   β”œβ”€β”€ nav/
β”‚   β”‚   β”œβ”€β”€ portfolio/
β”‚   β”‚   β”œβ”€β”€ services/
β”‚   β”‚   β”œβ”€β”€ testimonials/
β”‚   β”‚   └── theme/
β”‚   β”‚       β”œβ”€β”€ ThemeToggle.jsx
β”‚   β”‚       └── themeToggle.css
β”‚   β”œβ”€β”€ context/
β”‚   β”‚   └── ThemeContext.jsx
β”‚   β”œβ”€β”€ assets/
β”‚   β”‚   β”œβ”€β”€ portfolio images
β”‚   β”‚   └── bg-texture.png
β”‚   β”œβ”€β”€ App.jsx
β”‚   β”œβ”€β”€ index.js
β”‚   └── index.css
β”œβ”€β”€ package.json
└── README.md

🎯 Key Components

Theme System

  • ThemeContext.jsx - Manages theme state and localStorage
  • ThemeToggle.jsx - Animated toggle button component
  • themeToggle.css - Toggle button styling and animations

Portfolio Section

  • Portfolio.jsx - Main portfolio component with project grid
  • portfolio.css - Responsive grid layout and animations

Responsive Design

  • Mobile-first CSS - Progressive enhancement approach
  • Flexible breakpoints - 1024px, 768px, 600px, 400px
  • Touch optimization - Mobile-friendly interactions

🎨 Theme System Details

Dark Theme (Default)

--color-bg: #1f1f38
--color-bg-variant: #2c2c6c
--color-primary: #4db5ff
--color-text: #fff

Light Theme

--color-bg: #f0f4f8
--color-bg-variant: #ffffff
--color-primary: #2563eb
--color-text: #0f172a

πŸ“± Responsive Breakpoints

Device Breakpoint Layout
Desktop >1024px 3-column grid
Tablet 768px-1024px 2-column grid
Mobile 600px-768px 2-column grid
Small Mobile 400px-600px 1-column grid
Extra Small <400px 1-column grid

🎭 Animation Features

Hover Effects

  • Card Lift - 10px upward movement
  • Image Zoom - 1.05x scale on hover
  • Text Slide - 5px horizontal movement
  • Button Glow - Subtle shadow effects

Entrance Animations

  • Fade In Up - Staggered entrance effects
  • Delayed Loading - 0.1s intervals between items
  • Smooth Easing - cubic-bezier(0.175, 0.885, 0.32, 1.275)

πŸš€ Performance Optimizations

  • CSS Variables - Efficient theme switching
  • Transform Animations - GPU-accelerated animations
  • Optimized Images - Proper sizing and formats
  • Minimal Re-renders - Efficient React state management

πŸ“‹ Features Checklist

  • Dark/Light theme toggle
  • Responsive design (mobile-first)
  • Smooth animations and transitions
  • Touch-friendly mobile interface
  • Theme persistence (localStorage)
  • Accessibility features
  • SEO optimization
  • Cross-browser compatibility
  • Performance optimization
  • Modern CSS techniques

🎯 Future Enhancements

  • Project filtering by technology
  • Search functionality
  • Project details modal
  • Contact form integration
  • Blog section
  • Multi-language support
  • PWA features
  • Analytics integration

🀝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ‘¨β€πŸ’» Author

Abhishek Kumar

πŸ™ Acknowledgments

  • React.js community
  • CSS Grid and Flexbox resources
  • Modern web development best practices
  • Open source contributors

⭐ Star this repository if you found it helpful!

πŸ”— Live Demo: https://abhishek-portfolio2025.netlify.app/

About

A responsive and visually appealing personal portfolio built with React, showcasing skills, projects, and experience with seamless navigation.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published