This is a personal portfolio website built using the MERN (MongoDB, Express.js, React, Node.js) stack. It showcases projects, skills, and experience while providing dynamic content management. The project consists of three folders:
- Client: The frontend for the portfolio website.
- Admin: A separate React-based admin panel with JWT authentication.
- Server: The backend API handling authentication, database, and other operations.
- ✅ Projects showcase with dynamic content
- ✅ Skills & Technologies section
- ✅ Contact form with email integration
- ✅ Admin panel with JWT authentication
- ✅ Content management via Admin panel
- ✅ Real-time coding activity (VS Code)
- React.js (Client & Admin)
- Redux Toolkit (Admin)
- Tailwind CSS
- Shadcn & Magic UI
- Node.js
- Express.js
- MongoDB with Mongoose
- JWT Authentication (for Admin panel login)
Make sure you have the following installed:
- Node.js
- MongoDB (local or cloud-based like MongoDB Atlas)
- Git
git clone https://github.com/Avijit07x/Mern-Portfolio.git
cd your-portfoliocd server
npm installcd client
npm installcd admin
npm installCreate a .env file in the server folder and add the following:
MONGO_URI =
CLIENT_URL =
PORT =
TOKEN_KEY =
TOKEN_KEY_EXPIRY =
CLOUDINARY_CLOUD_NAME =
CLOUDINARY_API_KEY =
CLOUDINARY_API_SECRET =
cd server
npm run devcd client
npm startcd admin
npm startOnce all servers are running, open your browser and navigate to:
Client: http://localhost:5173
Admin Panel: http://localhost:5174
If you would like to contribute, feel free to fork the repository and create a pull request.
The portfolio is continuously evolving, and new features will be added over time. Stay tuned! 🚀