Skip to content

yasshrai/portfolio

Repository files navigation

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

About

πŸš€ A personal developer portfolio showcasing my projects, skills, experience, and blogs

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages