Skip to content

Dragon4926/Portfolio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Terminal Portfolio

An interactive web-based terminal portfolio with cursor trails, snow effects, and theme switching.

Features

  • 🖥️ Interactive terminal interface with command history
  • ✨ Custom cursor trail animation
  • ❄️ 3D snow effect using Three.js
  • 🎨 Dark/Light theme toggle
  • 📱 Fully responsive design
  • 🔄 Real-time GitHub projects integration
  • 🔒 Rate limiting and security features

Available Commands

  • help - Display available commands
  • whoami - About me
  • social - Show social media links
  • projects - View pinned GitHub projects
  • email - Open email composer
  • history - View command history
  • clear - Clear terminal
  • banner - Show welcome banner

Tech Stack

  • Frontend: HTML5, CSS3, JavaScript
  • 3D Graphics: Three.js
  • Backend: Express.js, Node.js
  • APIs: GitHub GraphQL API
  • Security: express-rate-limit, helmet

Installation

  1. Clone the repository
  2. Install dependencies:
npm install
  1. Create a .env file with your GitHub token:
GITHUB_TOKEN=your_github_token
  1. Start the server:
npm start

For development:

npm run dev

Performance Optimizations

Cursor trail animation is optimized using requestAnimationFrame:

const optimizedAnimateTrail = () => {
  let frame;
  return () => {
    if (frame) cancelAnimationFrame(frame);
    frame = requestAnimationFrame(animateTrail);
  };
};

License

MIT License

Author

@Dragon4926