A fully responsive, modern portfolio website built with the MERN stack.
This project includes a premium frontend UI/UX and a backend contact API that stores messages in MongoDB.
- Premium responsive UI with glassmorphism and gradient sections
- Dark/Light mode toggle with local storage persistence
- Framer Motion animations and typing animation hero text
- Skills section with icons and animated progress bars
- Projects section with images, tech stack, GitHub, and Live Demo buttons
- Contact form integrated with Express + MongoDB (
POST /api/contact) - Auto-generated professional cover letter section
- Loader animation and scroll-to-top floating button
- SEO meta tags in the frontend
- Frontend: React, Vite, Framer Motion, React Icons
- Backend: Node.js, Express.js, ChartJS, MongoDB,
- Datasets Like Kaggle.com
Rishikimage/
client/ # React frontend
server/ # Express backend
Copy from server/.env.example:
PORT=5000
MONGO_URI=mongodb+srv://username:password@cluster.mongodb.net/portfolio_db
CLIENT_URL=http://localhost:5173Copy from client/.env.example:
VITE_API_URL=http://localhost:5000cd server
npm install
cp .env.example .env
# Update .env with real Mongo URI
npm run devcd client
npm install
cp .env.example .env
npm run devFrontend runs at http://localhost:5173 and backend at http://localhost:5000.
Request body:
{
"name": "Your Name",
"email": "you@example.com",
"message": "Your message here"
}Response:
{
"success": true,
"message": "Message submitted successfully",
"data": {}
}- Push code to GitHub.
- Import repository in Vercel.
- Set root directory as
client. - Add environment variable:
VITE_API_URL=https://your-render-backend-url.onrender.com
- Deploy.
- Create a new Web Service in Render.
- Select repository and set root directory to
server. - Build command:
npm install
- Start command:
npm start
- Add environment variables:
PORT=5000MONGO_URI=your_mongodb_connection_string- `CLIENT_URL= https://traffic-monitoring-one.vercel.app/
- Deploy and copy backend URL.
- Replace placeholder project live links (
example.com) inclient/src/App.jsxwith your actual deployed project links. - You can customize skill percentages, project cards, and cover letter text in the same file.