Skip to content

This portfolio serves as both a personal showcase and a testament to modern web development capabilities, featuring smooth animations, engaging interactions, and a cohesive visual identity throughout.

Notifications You must be signed in to change notification settings

prashantkoirala465/web-development-portfolio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

44 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎨 Prashant Koirala Web Development Portfolio - Complete Documentation

Welcome to the comprehensive documentation for Prashant Koirala's Portfolio - a cutting-edge, award-worthy web development portfolio that showcases the intersection of stunning design and robust development. This project represents a masterclass in modern web development, featuring seamless animations, responsive design, and an immersive user experience that draws inspiration from Awwwards-winning websites.

πŸ“‹ Table of Contents

🎯 Project Overview

This portfolio is more than just a personal website - it's a carefully crafted digital experience that demonstrates advanced web development techniques. The project showcases:

  • Award-worthy design principles inspired by Awwwards-winning sites
  • Seamless page transitions using GSAP animations
  • Interactive storytelling through scroll-triggered animations
  • Mobile-first responsive design with breakpoints at 1000px
  • Performance-optimized assets with lazy loading and efficient caching
  • Modern development workflow using Vite for fast development and building

The portfolio serves as both a personal showcase and a testament to modern web development capabilities, featuring smooth animations, engaging interactions, and a cohesive visual identity throughout.

πŸš€ Live Demo

🌐 View Live Portfolio

Experience the portfolio in its full glory with all animations and interactions. The live version is deployed on Vercel with global CDN distribution for optimal performance worldwide.

✨ Features

Core Features

  • Smooth Page Transitions: Seamless navigation between pages with GSAP-powered animations
  • Scroll-Triggered Animations: Dynamic content reveals and interactions based on scroll position
  • Responsive Design: Optimized for all devices from mobile to desktop
  • Interactive Navigation: Elegant slide-in menu with smooth animations
  • Contact Form: Professional contact form with validation and success states
  • Project Showcase: Interactive portfolio gallery with hover effects
  • Performance Monitoring: Built-in performance optimizations and lazy loading

Advanced Features

  • Custom Cursor Effects: Subtle cursor interactions throughout the site
  • Parallax Scrolling: Multi-layer parallax effects for depth
  • Image Preloading: Intelligent image preloading for smooth transitions
  • Animation Sequencing: Complex animation timelines synchronized with user interactions
  • Mobile-First Animations: Touch-friendly animations optimized for mobile devices
  • Accessibility Features: WCAG 2.1 compliant with keyboard navigation support

Technical Features

  • Modern Build System: Vite-based development with hot module replacement
  • Asset Optimization: Automatic image optimization and compression
  • Code Splitting: Efficient JavaScript code splitting for faster load times
  • SEO Optimization: Meta tags, structured data, and semantic HTML
  • Progressive Enhancement: Graceful degradation for older browsers

πŸ›  Technologies Used

Core Technologies

  • HTML5: Semantic markup with modern HTML features
  • CSS3: Advanced CSS with custom properties, flexbox, and grid
  • JavaScript ES6+: Modern JavaScript with modules and async/await
  • Vite: Lightning-fast build tool and development server

Animation & Effects

  • GSAP (GreenSock): Professional-grade animation library
  • ScrollTrigger: GSAP plugin for scroll-based animations
  • Lenis: Smooth scrolling library for enhanced user experience

Styling & Design

  • Custom Fonts: Three custom typefaces for distinctive typography
  • CSS Custom Properties: Design system with CSS variables
  • Responsive Units: Flexible sizing with rem, em, and viewport units
  • CSS Grid & Flexbox: Modern layout techniques

Development Tools

  • Node.js: JavaScript runtime for development tools
  • npm: Package manager for dependencies
  • ESLint: Code linting for consistent code quality
  • Prettier: Code formatting for consistent style

Deployment & Hosting

  • Vercel: Global edge network deployment
  • GitHub: Version control and collaboration
  • Custom Domain: Professional domain with SSL certificate

πŸ“ Project Structure

portfolio/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ assets/              # Images, fonts, and other static assets
β”‚   β”œβ”€β”€ components/          # Reusable UI components
β”‚   β”œβ”€β”€ pages/               # Page-specific components and logic
β”‚   β”œβ”€β”€ styles/              # CSS and SCSS files
β”‚   β”œβ”€β”€ scripts/             # JavaScript utilities and animations
β”‚   └── index.html           # Main HTML entry point
β”œβ”€β”€ dist/                    # Production build output
β”œβ”€β”€ public/                  # Static assets served directly
β”œβ”€β”€ vite.config.js           # Vite configuration
β”œβ”€β”€ package.json             # Project dependencies and scripts
β”œβ”€β”€ README.md                # Project documentation
└── LICENSE                  # License file

πŸš€ Installation & Setup

Prerequisites

  • Node.js (v16 or higher)
  • npm or yarn package manager
  • Git for version control

Local Development Setup

  1. Clone the repository:

    git clone https://github.com/prashantkoirala465/portfolio.git
  2. Install dependencies:

    npm install
  3. Start development server:

    npm run dev

    The development server will start at http://localhost:5173

  4. Build for production:

    npm run build

    The built files will be in the dist/ directory

  5. Preview production build:

    npm run preview

Available Scripts

  • npm run dev - Start development server with hot reload
  • npm run build - Build optimized production bundle
  • npm run preview - Preview production build locally
  • npm run host - Start development server accessible via network

🎨 Design System

Color Palette

The portfolio uses a carefully curated color system defined in CSS custom properties:

  • Primary: --color-primary: #1a1a1a
  • Secondary: --color-secondary: #f5f5f5
  • Accent: --color-accent: #ff6b6b
  • Background: --color-bg: #ffffff

Typography System

Three custom typefaces create the distinctive visual identity:

  1. Rader - Used for headings (h1, h2, h3)

    • Uppercase, italic style
    • Tight line-height (0.95) for dramatic effect
    • Responsive sizing from 2.5rem (mobile) to 5rem (desktop)
  2. Formula Narrow - Used for body text and descriptions

    • Clean, modern sans-serif
    • Slightly condensed for better readability
    • Font size: 1.25rem with 1.125 line-height
  3. Supply Mono - Used for UI elements and labels

    • Monospace font for technical feel
    • Uppercase for consistency
    • Font size: 0.875rem for subtle UI text

Spacing & Layout

  • Base spacing unit: 1rem (16px)
  • Grid system: Flexible CSS Grid and Flexbox layouts
  • Breakpoints:
    • Mobile: < 1000px
    • Desktop: β‰₯ 1000px
  • Container max-width: Fluid layouts with padding

🎭 Animation Architecture

Page Transitions

The portfolio features a sophisticated page transition system using GSAP:

  1. Entry Animation: Multi-layer overlay reveal on page load
  2. Exit Animation: Sequential overlay animation on navigation
  3. Navigation Handling: Smart link detection for same-page vs different-page transitions
  4. Mobile Menu Integration: Automatic menu closing during transitions

Scroll-Triggered Animations

Hero Section

  • Image Cycling: Continuous image rotation every 250ms
  • Scroll Progress: Image transforms based on scroll position
  • Responsive Scaling: Dynamic scaling from 0.25 to 1 based on scroll
  • Rotation Effects: Subtle rotation animation (-15Β° to 0Β°)

Featured Work Section

  • Horizontal Scrolling: Titles move horizontally across 4x viewport width
  • Image Cards: 3D positioning with z-index manipulation
  • Staggered Animations: Sequential reveal of portfolio items
  • Progress Indicators: Visual feedback for scroll progress

Services Section

  • Card Pinning: Services cards pin during scroll for layered effect
  • Vertical Movement: Smooth vertical transitions between service descriptions
  • Responsive Disabling: Animations disabled on mobile for performance

Animation Performance

  • Hardware Acceleration: GPU-accelerated transforms
  • Optimized Images: Preloaded and cached for smooth transitions
  • Debounced Resize: Efficient window resize handling
  • Scroll Throttling: Optimized scroll event handling

πŸ“± Responsive Design

Mobile Strategy (≀ 1000px)

  • Simplified Animations: Reduced or disabled complex animations
  • Touch-Friendly Interactions: Larger tap targets and swipe gestures
  • Optimized Typography: Reduced font sizes for mobile readability
  • Stacked Layouts: Single-column layouts for better mobile experience

Desktop Enhancements (> 1000px)

  • Complex Animations: Full animation suite enabled
  • Multi-column Layouts: Grid-based layouts for optimal space usage
  • Hover Effects: Interactive hover states for enhanced engagement
  • High-Resolution Assets: Retina-ready images for crisp display

Breakpoint-Specific Styles

  • Mobile: Single-column, simplified animations
  • Desktop: Multi-column, full animation suite

⚑ Performance Optimizations

Image Optimization

  • JPG Format: Image format with fallbacks
  • Responsive Images: srcset for different screen densities
  • Lazy Loading: Images load as needed during scroll
  • Preloading: Critical images preloaded for smooth transitions

JavaScript Optimization

  • Code Splitting: Modular JavaScript for faster initial load
  • Tree Shaking: Unused code elimination during build
  • Minification: Minified JavaScript for production
  • Async Loading: Non-critical scripts loaded asynchronously

CSS Optimization

  • Critical CSS: Inline critical styles for faster first paint
  • Unused CSS Removal: PurgeCSS integration for production builds
  • Compressed Styles: Minified CSS for smaller file sizes
  • Font Loading: Optimized font loading with font-display: swap

Build Optimization

  • Vite Build Process: Lightning-fast development and building
  • Asset Hashing: Cache-busting for static assets
  • CDN Distribution: Global edge caching via Vercel

🌐 Browser Compatibility

Supported Browsers

  • Chrome: 90+
  • Firefox: 88+
  • Safari: 14+
  • Edge: 90+
  • Mobile Safari: iOS 14+
  • Chrome Mobile: Android 10+

Fallback Strategies

  • CSS Grid Fallback: Flexbox fallback for older browsers
  • JavaScript Polyfills: Core-js for ES6+ features
  • Font Fallbacks: System font stack for custom font failures
  • Image Fallbacks: PNG/JPEG fallbacks for WebP

Progressive Enhancement

  • Graceful Degradation: Core functionality without JavaScript
  • Feature Detection: Modernizr for feature detection
  • Accessibility: WCAG 2.1 compliance across all browsers

πŸš€ Deployment

Vercel Deployment (Recommended)

  1. Connect Repository

    • Link GitHub repository to Vercel
    • Automatic deployments on push to main branch
  2. Environment Configuration

    • No additional environment variables required
    • Automatic SSL certificate generation
  3. Custom Domain Setup

    • Add custom domain in Vercel dashboard
    • Configure DNS records as instructed

Alternative Deployment Options

  • Netlify
  • GitHub Pages
  • Traditional Hosting
    1. Build the project: npm run build
    2. Upload dist/ folder to your web server
    3. Configure web server for SPA routing

Deployment Checklist

  • Build completes without errors
  • All images load correctly
  • Animations work smoothly
  • Contact form functionality verified
  • Mobile responsiveness tested
  • Performance scores verified (Lighthouse)
  • SEO meta tags configured
  • Analytics tracking implemented

🀝 Contributing

Development Guidelines

  1. Code Style: Follow existing ESLint and Prettier configurations
  2. Commit Messages: Use conventional commit format
  3. Branch Naming: Use feature/ prefix for new features
  4. Pull Requests: Include screenshots for UI changes

Local Development Workflow

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/your-feature
  3. Commit changes: git commit -m "feat: add your feature"
  4. Push to branch: git push origin feature/your-feature
  5. Open a pull request

Code Review Process

  • All changes require review before merging
  • Test on multiple devices and browsers
  • Verify accessibility compliance
  • Check performance impact

πŸ“„ License

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

πŸ“ž Contact

Project Author

Prashant Koirala

Support Channels

Professional Services

Available for:

  • Custom Portfolio Development
  • Animation Consulting
  • Performance Optimization
  • Design System Creation
  • Code Reviews & Audits

πŸ”„ Changelog

Version 1.0.0 (Current)

  • Initial portfolio release
  • Complete responsive design
  • Full animation suite
  • Contact form integration
  • Performance optimizations

Planned Features

  • Blog Section: Technical articles and case studies
  • Project Case Studies: Detailed project breakdowns
  • Dark Mode Toggle: User preference support
  • Multi-language Support: Internationalization
  • CMS Integration: Content management system

πŸ™ Acknowledgments

  • GSAP Team: For the incredible animation library
  • Vercel: For seamless deployment and hosting
  • Design Community: Inspiration from Awwwards and other design galleries
  • Open Source: All the amazing open-source tools and libraries used

⭐ If this portfolio inspires you, please give it a star on GitHub!

Built with ❀️ by Prashant Koirala

About

This portfolio serves as both a personal showcase and a testament to modern web development capabilities, featuring smooth animations, engaging interactions, and a cohesive visual identity throughout.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published