Skip to content

Latest commit

 

History

History
106 lines (78 loc) · 2.98 KB

File metadata and controls

106 lines (78 loc) · 2.98 KB

Yash Rai - Portfolio

Next.js React TypeScript

Welcome to my personal portfolio website built with Next.js! This project showcases my work, skills, and experience as a developer.

🚀 Features

  • Modern UI/UX - Clean, responsive design built with modern web technologies
  • Performance Optimized - Fast loading times and smooth animations
  • Project Showcase - Detailed view of my projects with case studies
  • Contact Form - Send messages to my email
  • Resume Download - Download my resume in PDF format
  • Blog Section - Technical articles and tutorials
  • URL Shortener - Shorten long URLs with a custom domain
  • Admin Panel - Manage blog posts and URLs

🛠️ Tech Stack

  • Frontend Framework: Next.js 14
  • Styling: Tailwind CSS
  • Type Checking: TypeScript
  • Animation: Framer Motion
  • Form Handling: React Hook Form
  • Icons: Lucide Icons
  • Deployment: Vercel

🚀 Getting Started

Prerequisites

  • bun
  • docker (locally)

Installation

  1. Clone the repository

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

    bun install
  3. Run the development server

    bun run dev
  4. Open http://localhost:3000 in your browser

Docker Deployment

To build and run the application using Docker:

  1. Build the Docker image:

    docker build -t portfolio .
  2. Run the Docker container:

    docker run --env-file .env.local -p 3000:3000 portfolio

Required Environment Variables

The following environment variables must be set in your .env.local file for the application to function properly:

  • NEXT_PUBLIC_FIREBASE_API_KEY
  • NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN
  • NEXT_PUBLIC_FIREBASE_PROJECT_ID
  • NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET
  • NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID
  • NEXT_PUBLIC_FIREBASE_APP_ID
  • NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID
  • NEXT_PUBLIC_ADMIN_UID
  • RESEND_API_KEY
  • CONTACT_EMAIL
  • NEXT_PUBLIC_BASE_URL
  • UPLOADTHING_TOKEN
  • MONGODB_URI

These keys are required for Firebase, Resend, MongoDB, and other integrations. Obtain the values from your respective service providers and add them to .env.local.

🤝 Connect with Me

🙏 Acknowledgments


Made with ❤️ by Yash Rai