Skip to content

GourangaDasSamrat/React-Portfolio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

14 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Modern React Portfolio πŸš€

Vercel Status Website Status Last Updated

React Vite CSS JavaScript HTML5

LinkedIn Portfolio Medium Twitter

🌟 Overview

A modern, responsive portfolio website showcasing my professional journey and technical expertise. Built with React and Vite, featuring an elegant dark/light theme, smooth animations, and a user-friendly interface. This portfolio demonstrates my commitment to clean code, modern design principles, and optimal user experience. ✨

View Live Demo β€’ Report Bug β€’ Request Feature

✨ Key Features

  • ⚑️ Lightning Fast: Built with React 18 + Vite for optimal performance
  • 🎨 Modern Design: Clean, professional, and user-friendly interface
  • πŸŒ“ Theme Toggle: Seamless dark/light mode switching with context persistence
  • πŸ“± Responsive: Fully responsive design across all devices and screen sizes
  • 🎯 Dynamic Projects: Interactive project showcase with live demos
  • πŸ’ͺ Skills Matrix: Comprehensive display of technical expertise
  • πŸ“¬ Contact Integration: Professional contact form with validation
  • πŸ” SEO Optimized: Implemented meta tags and semantic HTML
  • πŸš€ Performance: Optimized assets and lazy loading for fast load times

πŸ› οΈ Tech Stack

Frontend

  • βš›οΈ React 18: For building a scalable and modern UI
  • πŸ“¦ Vite: Next-generation frontend tooling
  • 🎨 CSS Modules: For scoped and maintainable styling
  • πŸ’Ύ Context API: For efficient state management
  • πŸ”„ React Router: For seamless navigation
  • πŸ“± Media Queries: For responsive design

Development Tools

  • πŸ”§ ESLint: For code quality and consistency
  • 🎯 Prettier: For automated code formatting
  • πŸ“¦ npm: For package management
  • πŸ™ Git: For version control
  • πŸ“ VSCode: Development environment

πŸš€ Getting Started

Prerequisites

Before you begin, ensure you have the following installed:

  • Node.js (v16 or higher)
  • npm (v7 or higher)
  • Git

Installation

  1. Clone the repository

    git clone https://github.com/GourangaDasSamrat/React-Portfolio.git
  2. Navigate to the project directory

    cd React-Portfolio
  3. Install dependencies

    npm install
  4. Create a .env file in the root directory

    cp .env.example .env
  5. Set up your EmailJS credentials

    • Sign up at EmailJS
    • Create an Email Service (Gmail, Outlook, etc.)
    • Create an Email Template
    • Get your credentials and add them to the .env file:
      VITE_EMAILJS_SERVICE_ID=your_service_id
      VITE_EMAILJS_TEMPLATE_ID=your_template_id
      VITE_EMAILJS_PUBLIC_KEY=your_public_key
  6. Start the development server

    npm run dev

Available Scripts

  • npm run dev - Start development server
  • npm run build - Build for production
  • npm run preview - Preview production build
  • npm run lint - Lint code with ESLint
  • npm run format - Format code with Prettier

πŸ“ Project Structure

React-Portfolio/
β”œβ”€β”€ index.html                 # Entry point HTML
β”œβ”€β”€ package.json              # Dependencies and scripts
β”œβ”€β”€ vite.config.js           # Vite configuration
β”œβ”€β”€ public/                  # Static assets
β”‚   └── favicon.ico          # Site favicon
└── src/                     # Source code
    β”œβ”€β”€ App.jsx             # Root component
    β”œβ”€β”€ main.jsx           # Application entry point
    β”œβ”€β”€ App.css            # Global styles
    β”œβ”€β”€ index.css         # Root styles
    β”œβ”€β”€ assets/           # Media assets
    β”‚   β”œβ”€β”€ svg/          # SVG icons and images
    β”‚   β”œβ”€β”€ images/       # Project images
    β”‚   └── cv.pdf       # Resume/CV file
    β”œβ”€β”€ common/           # Shared components
    β”‚   β”œβ”€β”€ ProjectCard.jsx    # Project card component
    β”‚   β”œβ”€β”€ SkillList.jsx     # Skills list component
    β”‚   └── ThemeContext.jsx  # Theme context provider
    └── sections/         # Page sections
        β”œβ”€β”€ Hero/        # Hero section
        β”œβ”€β”€ Projects/    # Projects showcase
        β”œβ”€β”€ Skills/     # Skills display
        β”œβ”€β”€ Contact/    # Contact form
        └── Footer/     # Footer section

πŸš€ Deployment

Deploying to Vercel

  1. Install Vercel CLI

    npm install -g vercel
  2. Login to Vercel

    vercel login
  3. Configure build settings in vercel.json:

    {
      "version": 2,
      "builds": [
        {
          "src": "package.json",
          "use": "@vercel/static-build",
          "config": { "distDir": "dist" }
        }
      ]
    }
  4. Deploy your site:

    vercel # for development
    vercel --prod # for production

Current deployment: https://react-portfolio-indol-eight.vercel.app/

Performance Optimization

  • Images are optimized and served in WebP format
  • Lazy loading implemented for images and components
  • Code splitting for better chunk management
  • Asset preloading for critical resources

πŸ“± Preview & Screenshots

Portfolio Preview
Home Page

Projects Section
Projects Section

Contact Section
Contact Section

πŸ“Š Performance & Best Practices

  • Lighthouse Score:

    • Performance: 98/100
    • Accessibility: 100/100
    • Best Practices: 100/100
    • SEO: 100/100
  • Core Web Vitals:

    • First Contentful Paint: < 1s
    • Largest Contentful Paint: < 2s
    • Cumulative Layout Shift: 0
    • First Input Delay: < 100ms

πŸ‘€ Author & Contact

Gouranga Das Samrat

Gouranga Das Samrat
Frontend Developer | JavaScript & React Expert | Open Source Enthusiast

GitHub LinkedIn Portfolio Email LeetCode CodePen Reddit Behance Dribbble Stack Overflow Quora Twitch YouTube Medium Blogger Discord X Facebook Instagram TikTok Threads Pinterest

Let's connect! I'm always open to collaboration, frontend projects, or just a friendly chat about JavaScript and React.

πŸ‘₯ Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  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.

πŸ™ Acknowledgments

  • React - For the amazing UI library
  • Vite - For the blazing fast build tool
  • EmailJS - For the contact form functionality
  • Vercel - For hosting and continuous deployment

πŸ’– Support My Work

If you find this project helpful or learn something from it, please consider:

  • ⭐ Starring this repository
  • 🎯 Sharing it with others
  • πŸ“ Following me on Medium for more content
  • πŸ’Ό Connecting with me on LinkedIn

Your support motivates me to create more open source projects! Feel free to reach out for collaborations or questions.

About

A smart and responsiveportfolio that maked with React 18.2

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published