Skip to content

A cutting-edge portfolio website that pushes the boundaries of web development by combining stunning 3D graphics, smooth animations, and interactive elements to create an immersive and memorable user experience.

Notifications You must be signed in to change notification settings

Tarungupta18/Portfolio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Modern Portfolio Website 🎨

React Three.js Material UI Framer

✨ Features

  • 🎨 3D Graphics with Three.js and React Three Fiber
  • 🎭 Smooth animations using Framer Motion
  • 💅 Styled with Material UI and Styled Components
  • 📧 Email integration with EmailJS
  • ⌨️ Interactive typing animations
  • 📱 Fully responsive design
  • 🌐 GitHub Pages deployment ready
  • 📜 Vertical timeline component for experience/projects
  • 🔄 Custom scroll animations

🛠️ Technology Stack

  • Frontend Framework: React 18
  • 3D Graphics: Three.js, @react-three/fiber, @react-three/drei
  • Styling: Material UI, Styled Components
  • Animations: Framer Motion, Typewriter Effect
  • Icons: Material Icons, React Icons
  • Routing: React Router DOM
  • Email Service: EmailJS
  • Deployment: GitHub Pages

📥 Installation

  1. Clone the repository
git clone https://github.com/Tarungupta18/portfolio-website.git
cd portfolio-website
  1. Install dependencies
npm install
  1. Start development server
npm start

🚀 Deployment

GitHub Pages Deployment

  1. Update homepage In package.json, ensure the homepage is set to your GitHub Pages URL:
{
  "homepage": "https://Tarungupta18.github.io"
}
  1. Deploy
npm run deploy

📁 Project Structure

portfolio-website/
├── public/
├── src/
│   ├── components/
│   ├── assets/
│   ├── styles/
│   ├── utils/
│   ├── App.js
│   └── index.js
├── package.json
└── README.md

🔧 Configuration

EmailJS Setup

  1. Create an account at EmailJS
  2. Create a .env file in the root directory:
REACT_APP_EMAILJS_SERVICE_ID=your_service_id
REACT_APP_EMAILJS_TEMPLATE_ID=your_template_id
REACT_APP_EMAILJS_USER_ID=your_user_id

🎨 Customization

Themes

  • Material UI themes can be customized in the theme configuration file
  • Styled Components global styles can be modified for consistent styling

3D Models

  • Place your 3D models in the public/models directory
  • Update the model paths in your Three.js components

🤝 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

📝 Scripts

  • npm start: Start development server
  • npm build: Build for production
  • npm test: Run tests
  • npm run deploy: Deploy to GitHub Pages
  • npm run eject: Eject from Create React App

📄 License

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

📞 Contact

Tarun Gupta - [email protected]

Project Link: https://github.com/Tarungupta18/portfolio-website

Made with ❤️ and React

About

A cutting-edge portfolio website that pushes the boundaries of web development by combining stunning 3D graphics, smooth animations, and interactive elements to create an immersive and memorable user experience.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published