Welcome to my personal portfolio website built with Next.js! This project showcases my work, skills, and experience as a developer.
- 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
- Frontend Framework: Next.js 14
- Styling: Tailwind CSS
- Type Checking: TypeScript
- Animation: Framer Motion
- Form Handling: React Hook Form
- Icons: Lucide Icons
- Deployment: Vercel
- bun
- docker (locally)
-
Clone the repository
git clone https://github.com/yasshrai/portfolio.git cd portfolio -
Install dependencies
bun install
-
Run the development server
bun run dev
-
Open http://localhost:3000 in your browser
To build and run the application using Docker:
-
Build the Docker image:
docker build -t portfolio . -
Run the Docker container:
docker run --env-file .env.local -p 3000:3000 portfolio
The following environment variables must be set in your .env.local file for the application to function properly:
NEXT_PUBLIC_FIREBASE_API_KEYNEXT_PUBLIC_FIREBASE_AUTH_DOMAINNEXT_PUBLIC_FIREBASE_PROJECT_IDNEXT_PUBLIC_FIREBASE_STORAGE_BUCKETNEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_IDNEXT_PUBLIC_FIREBASE_APP_IDNEXT_PUBLIC_FIREBASE_MEASUREMENT_IDNEXT_PUBLIC_ADMIN_UIDRESEND_API_KEYCONTACT_EMAILNEXT_PUBLIC_BASE_URLUPLOADTHING_TOKENMONGODB_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.
Made with β€οΈ by Yash Rai