This is my personal portfolio website built using Next.js, Framer Motion, Tailwind CSS, EmailJS, and MongoDB with Mongoose. This portfolio showcases my projects, skills, and provides a way for visitors to contact me.
- Next.js: Server-side rendering, static site generation, and dynamic routing.
- Framer Motion: Smooth animations and interactions.
- Tailwind CSS: Utility-first CSS framework for rapid UI development.
- EmailJS: Email integration for contact forms without a backend.
- MongoDB & Mongoose: Database and ODM for storing and managing data.
- Framework: Next.js
- Animations: Framer Motion
- Styling: Tailwind CSS
- Email Service: EmailJS
- Database: MongoDB and Mongoose
To run this project locally, follow these steps:
-
Clone the repository:
git clone https://github.com/Avijit07x/portfolio.git cd portfolio
-
Install dependencies:
npm install or bun install
-
Set up environment variables: Create a
.env.local
file in the root directory and add your environment variables:NEXT_PUBLIC_BASE_URL = "" MONGODB_URL = "YOUR_MONGODB_URL" NEXT_PUBLIC_EMAILJS_SERVICE_ID = "EMAILJS_SERVICE_ID" NEXT_PUBLIC_EMAILJS_TEMPLATE_ID = "EMAILJS_TEMPLATE_ID" NEXT_PUBLIC_EMAILJS_PUBLIC_KEY = "EMAILJS_PUBLIC_KEY" NEXTAUTH_URL = "" NEXTAUTH_SECRET = "" NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME = "CLOUDINARY_CLOUD_NAME" NEXT_PUBLIC_CLOUDINARY_API_KEY = "CLOUDINARY_API_KEY" NEXT_PUBLIC_CLOUDINARY_API_SECRET = "CLOUDINARY_API_SECRET" NEXT_PUBLIC_CLOUDINARY_UPLOAD_PRESET = "CLOUDINARY_UPLOAD_PRESET"
-
Run the development server:
npm run dev or bun dev
-
Open http://localhost:3000 with your browser to see the result.
- Hero Section: Overview of your portfolio with a brief introduction.
- Projects Section: Detailed information about your projects with links to GitHub repositories and live demos.
- Skills Section: List of your technical skills and proficiencies.
- Contact Section: Contact form to send you messages directly via EmailJS.
The portfolio is deployed and can be accessed here.