Skip to content

raghavx03/raghav

Repository files navigation

Bhupender Pratap - Portfolio Website

A modern, cinematic portfolio website featuring an animated 3D starfield background, glass-morphism UI components, and smooth animations. Built with Next.js 14, TypeScript, Tailwind CSS, and Framer Motion.

✨ Features

  • 🌌 Animated Starfield Background - 3D particle system with moving stars
  • πŸ‘€ Centered Profile Layout - Circular profile image with social links
  • πŸ”— Social Media Integration - Instagram, LinkedIn, YouTube pill buttons
  • ✨ Glass-Morphism Cards - Semi-transparent cards with backdrop blur
  • πŸ–ΌοΈ Responsive Photo Gallery - 2x3 grid showcasing projects
  • 🎨 Dark Cinematic Theme - Premium futuristic aesthetic
  • πŸ“± Fully Responsive - Optimized for mobile, tablet, and desktop
  • β™Ώ Accessible - WCAG AA compliant with keyboard navigation
  • ⚑ Performance Optimized - 90+ Lighthouse score, WebP images, lazy loading
  • πŸ” SEO Ready - Meta tags, Open Graph, Twitter Cards

πŸš€ Quick Start

Prerequisites

  • Node.js 18+ and npm

Installation

  1. Clone the repository:
git clone <your-repo-url>
cd ragspro-enterprise
  1. Install dependencies:
npm install
  1. Add your images:

    • Profile photo: public/images/profile.webp (400x400px)
    • Card logos: public/images/logos/*.png (48x48px each)
    • Gallery photos: public/images/gallery/*.webp (800x800px each)
  2. Update content in app/page.tsx:

    • Change name, headline, and social links
    • Update card titles and descriptions
    • Modify gallery image paths and alt text
  3. Run the development server:

npm run dev
  1. Open http://localhost:3000 in your browser

πŸ“ Project Structure

/
β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ layout.tsx          # Root layout with fonts and metadata
β”‚   β”œβ”€β”€ page.tsx            # Main portfolio page
β”‚   └── globals.css         # Global styles and Tailwind
β”œβ”€β”€ components/
β”‚   β”œβ”€β”€ StarfieldBackground.tsx  # Animated 3D particle canvas
β”‚   β”œβ”€β”€ ProfileSection.tsx       # Profile image and name
β”‚   β”œβ”€β”€ SocialPill.tsx           # Social media button
β”‚   β”œβ”€β”€ SocialLinks.tsx          # Social pills container
β”‚   β”œβ”€β”€ HeroHeadline.tsx         # Main italic headline
β”‚   β”œβ”€β”€ GlassCard.tsx            # Glass-morphism card
β”‚   β”œβ”€β”€ CardStack.tsx            # Stack of glass cards
β”‚   └── PhotoGallery.tsx         # Responsive image grid
β”œβ”€β”€ lib/
β”‚   └── utils.ts            # Utility functions
β”œβ”€β”€ public/
β”‚   └── images/
β”‚       β”œβ”€β”€ profile.webp    # Profile photo
β”‚       β”œβ”€β”€ logos/          # Card logos
β”‚       └── gallery/        # Gallery photos
β”œβ”€β”€ tailwind.config.ts      # Tailwind configuration
β”œβ”€β”€ next.config.js          # Next.js configuration
└── package.json            # Dependencies

🎨 Customization

Update Personal Information

Edit app/page.tsx:

const portfolioData = {
  profile: {
    name: 'Your Name',
    image: '/images/profile.webp',
    headline: 'Your headline here.',
  },
  socialLinks: {
    instagram: 'https://instagram.com/yourhandle',
    linkedin: 'https://linkedin.com/in/yourprofile',
    youtube: 'https://youtube.com/@yourchannel',
  },
  // ... update gallery images
}

Modify Card Content

Edit components/CardStack.tsx:

const cards = [
  {
    id: 'your-card',
    logo: '/images/logos/your-logo.png',
    title: 'Your Title',
    subtitle: 'Your description here.',
    href: '#your-link',
  },
  // ... add more cards
]

Change Colors

Edit tailwind.config.ts:

colors: {
  background: {
    primary: '#0a0a0a',  // Change base color
  },
  // ... modify other colors
}

Adjust Animations

Edit animation delays in components:

  • StarfieldBackground.tsx - Particle speed (line 52: star.z -= 2)
  • ProfileSection.tsx - Fade-in timing
  • GlassCard.tsx - Hover effects

πŸ› οΈ Tech Stack

  • Framework: Next.js 14 (App Router)
  • Language: TypeScript
  • Styling: Tailwind CSS
  • Animations: Framer Motion
  • Icons: Lucide React
  • Fonts: Google Fonts (Playfair Display, Inter)
  • Image Optimization: Next/Image with WebP

πŸ“¦ Dependencies

{
  "next": "14.0.0",
  "react": "^18",
  "framer-motion": "^10.16.0",
  "lucide-react": "latest",
  "tailwindcss": "^3.3.0",
  "typescript": "^5"
}

🌐 Deployment

Deploy to Vercel (Recommended)

  1. Push your code to GitHub
  2. Import project in Vercel
  3. Vercel will auto-detect Next.js and deploy
  4. Your site will be live at your-project.vercel.app

Environment Variables

No environment variables required for basic setup. Optional:

NEXT_PUBLIC_SITE_URL=https://yourdomain.com
NEXT_PUBLIC_ANALYTICS_ID=your-analytics-id

⚑ Performance

  • Lighthouse Score: 90+ (Performance, Accessibility, Best Practices, SEO)
  • First Contentful Paint: < 1.5s
  • Largest Contentful Paint: < 2.5s
  • Cumulative Layout Shift: < 0.1
  • Canvas Animation: 60 FPS

β™Ώ Accessibility

  • Semantic HTML (main, section, nav)
  • ARIA labels on interactive elements
  • Keyboard navigation support
  • Focus indicators (ring-2 ring-white/50)
  • Alt text on all images
  • Color contrast: 21:1 (white on black)
  • Respects prefers-reduced-motion

πŸ“± Browser Support

  • Chrome/Edge: Last 2 versions
  • Firefox: Last 2 versions
  • Safari: Last 2 versions
  • iOS Safari: Last 2 versions
  • Android Chrome: Last 2 versions

πŸ› Troubleshooting

Images not loading

  • Ensure images are in public/images/ directory
  • Check file names match exactly (case-sensitive)
  • Verify image formats (WebP, PNG, JPG supported)

Starfield not animating

  • Check browser console for Canvas errors
  • Verify JavaScript is enabled
  • Check if prefers-reduced-motion is enabled

Build errors

# Clear cache and rebuild
rm -rf .next
npm run build

πŸ“„ License

MIT License - feel free to use this template for your own portfolio!

πŸ™ Credits

  • Design inspiration: Modern portfolio websites
  • Fonts: Google Fonts (Playfair Display, Inter)
  • Icons: Lucide React
  • Framework: Next.js by Vercel

πŸ“§ Contact


Built with ❀️ by Bhupender Pratap

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors