Skip to content

Latest commit

Β 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Portfolio Website

A modern, interactive portfolio website showcasing software engineering projects, skills, and professional journey. Built with React and featuring smooth animations, particle effects, and a clean, responsive design.

React TypeScript Vite Bootstrap

πŸ“‹ Table of Contents

🌟 Overview

A dynamic portfolio website built with modern web technologies to showcase professional software engineering work. Features interactive animations, responsive design, and seamless navigation for an engaging user experience.

Key Capabilities:

  • 🎨 Interactive UI: Particle effects and smooth animations create an engaging experience
  • πŸ“± Fully Responsive: Mobile-first design optimized for all screen sizes
  • πŸ–ΌοΈ Project Showcase: Comprehensive gallery with detailed project modals
  • πŸ“Š GitHub Integration: Live contribution calendar and stats display
  • πŸ“„ Resume Viewer: Built-in PDF viewer with download capability
  • πŸŽ“ Course Reviews: Detailed university course reviews with ratings and workload estimates
  • ⚑ Fast Performance: Optimized with Vite for lightning-fast load times

✨ Features

πŸ—οΈ Core Pages

  • Home Section: Animated header with particle background and typewriter effect
  • Projects Gallery: Comprehensive showcase of personal, course, and game development projects with modals
  • Course Reviews: Detailed reviews of university courses with ratings and workload estimates
  • Resume Page: PDF resume viewer with download capability

🎨 Interactive Components

  • Dynamic Navigation: Responsive navbar with smooth scrolling and hash-based routing
  • Timeline Component: Visual representation of education and professional experience
  • Contact Form: Interactive form for project inquiries and collaboration
  • GitHub Calendar: Real-time contribution activity visualization

πŸ› οΈ Advanced Features

  • Particle Effects: Interactive tsParticles background animations
  • Skills Display: Categorized tech stack including languages, frameworks, databases, and tools
  • 3D Tilt Effects: Interactive hover animations on project cards
  • Error Boundaries: Graceful error handling throughout the application

πŸ›  Tech Stack

Core Framework

  • React 18 - UI library
  • Vite - Blazing fast build tool
  • React Router DOM 6 - Client-side routing

UI Components & Styling

  • Bootstrap 5 - CSS framework for responsive design
  • React Bootstrap - Bootstrap components as React
  • Framer Motion - Smooth animations
  • Lucide React & React Icons - Beautiful icon libraries

Specialized Libraries

  • react-tsparticles - Particle animation effects
  • typewriter-effect - Animated typing effect
  • react-parallax-tilt - 3D tilt hover effects
  • react-pdf - PDF document viewer
  • react-modal - Accessible modal dialogs
  • react-github-calendar - GitHub contribution visualization
  • react-vertical-timeline-component - Timeline UI
  • react-router-hash-link - Smooth scrolling navigation
  • react-tooltip - Customizable tooltips
  • react-error-boundary - Error handling

Development Tools

  • ESLint - Code linting with React-specific rules
  • Prettier - Code formatting
  • Husky - Git hooks for pre-commit actions
  • lint-staged - Run linters on staged files
  • gh-pages - GitHub Pages deployment

οΏ½ Getting Started

Prerequisites

  • Node.js (v20.0+ recommended)
  • npm

Installation

  1. Clone the repository

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

    cd Portfolio-React
  3. Install Dependencies

    npm install
  4. Start the Development Server

    npm run dev
  5. Open Your Browser Navigate to http://localhost:5173

Available Scripts

  • npm run dev - Start the Vite development server
  • npm run build - Build for production
  • npm run preview - Preview the production build locally
  • npm run lint - Run ESLint to check code quality
  • npm run lint:fix - Automatically fix ESLint issues
  • npm run prettier - Format all files with Prettier
  • npm run deploy - Deploy to GitHub Pages

πŸ“ Project Structure

src/
β”œβ”€β”€ App.jsx                # Main application component with routing
β”œβ”€β”€ index.jsx              # Application entry point
β”œβ”€β”€ components/            # Reusable UI components
β”‚   β”œβ”€β”€ Navbar.jsx         # Navigation bar
β”‚   β”œβ”€β”€ Footer.jsx         # Footer with social links
β”‚   β”œβ”€β”€ Particle.jsx       # Particle background effect
β”‚   β”œβ”€β”€ Pre.jsx            # Preloader component
β”‚   β”œβ”€β”€ ScrollToTop.jsx    # Scroll to top on route change
β”‚   β”œβ”€β”€ IndexHTML.jsx      # HTML content viewer
β”‚   └── IndexFolderHTML.jsx # Folder-based HTML viewer
β”œβ”€β”€ pages/                 # Page components
β”‚   β”œβ”€β”€ home/              # Home page
β”‚   β”‚   β”œβ”€β”€ HomePage.jsx   # Main home layout
β”‚   β”‚   └── components/    # Home sections
β”‚   β”‚       β”œβ”€β”€ Header.jsx # Hero section
β”‚   β”‚       β”œβ”€β”€ PDFViewer.jsx # Resume viewer
β”‚   β”‚       β”œβ”€β”€ Type.jsx   # Typewriter animation
β”‚   β”‚       β”œβ”€β”€ sections/  # Main content sections
β”‚   β”‚       β”‚   β”œβ”€β”€ AboutMe.jsx
β”‚   β”‚       β”‚   β”œβ”€β”€ Contact.jsx
β”‚   β”‚       β”‚   β”œβ”€β”€ Projects.jsx
β”‚   β”‚       β”‚   β”œβ”€β”€ Skills.jsx
β”‚   β”‚       β”‚   └── Timeline.jsx
β”‚   β”‚       β”œβ”€β”€ github/
β”‚   β”‚       β”‚   └── Github.jsx # GitHub stats
β”‚   β”‚       └── skills/    # Skill category components
β”‚   β”œβ”€β”€ projects/          # Projects page
β”‚   β”‚   β”œβ”€β”€ Projects.jsx   # Projects gallery
β”‚   β”‚   β”œβ”€β”€ ProjectCards.jsx
β”‚   β”‚   └── Modal.jsx      # Project detail modal
β”‚   β”œβ”€β”€ course_takens/     # Courses page
β”‚   β”‚   └── Course_Taken.jsx
β”‚   └── resume/            # Resume page
β”‚       └── Resume.jsx
β”œβ”€β”€ css/                   # Stylesheets
β”‚   β”œβ”€β”€ components/        # Component-specific styles
β”‚   └── pages/             # Page-specific styles
└── assets/                # Static assets (images, videos, PDFs)
    β”œβ”€β”€ imgs/              # Images organized by category
    β”œβ”€β”€ video/             # Video demonstrations
    β”œβ”€β”€ resume/            # Resume PDFs
    └── diploma/           # Certificates

πŸ”§ Development

Code Quality

This project maintains high code quality through:

  • ESLint: React-specific linting rules, JSX accessibility checks, and React Hooks rules
  • Prettier: Automatic code formatting for consistent style
  • Husky Git Hooks: Pre-commit hooks for linting and formatting
  • lint-staged: Runs linters only on staged files

Project Conventions

  • Component Organization: Organized by feature and page
  • CSS Structure: Separate files for components and pages
  • Asset Management: Images and videos organized by category
  • Naming Conventions: PascalCase for components, camelCase for functions
  • Import Order: External dependencies β†’ Internal components β†’ Styles β†’ Assets

οΏ½ Deployment

GitHub Pages

npm run deploy

This command builds the production bundle and deploys to the gh-pages branch, making the site available at your GitHub Pages URL.

Building for Production

npm run build

The optimized production build will be in the dist/ directory with minified JavaScript/CSS, optimized assets, and source maps.

πŸ“„ License

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

πŸ‘€ Author

Richie Zhou

About

React Portofolio website

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Contributors

Languages