SmartConfess is a full-stack social microblogging platform where users can post confessions, upload images, like posts, follow other users, and manage personal profiles.
Built using the MERN stack with JWT authentication and image upload support.
- 🔐 Secure JWT Authentication
- 📝 Create / Edit / Delete Confessions
- 🖼 Image Upload Support (Multer)
- ❤️ Like / Unlike System
- 👥 Follow / Unfollow Users
- 👤 Dynamic Profile Pages
- 🔎 Search Functionality
- 🕒 Relative Time Display
- 📱 Responsive UI (Tailwind CSS)
- React (Vite)
- Tailwind CSS
- React Router DOM
- Axios
- Day.js
- Node.js
- Express.js
- MongoDB
- Mongoose
- JWT Authentication
- Multer (File Upload)
- CORS
- dotenv
SmartConfess/
│
├── client/ # Frontend (React + Vite)
│
├── controllers/ # Business Logic
├── routes/ # API Routes
├── models/ # MongoDB Schemas
├── middleware/ # Auth & Error Handling
├── config/ # Database Connection
│
├── uploads/ # Uploaded Images (ignored in git)
├── server.js # Express App Entry
└── README.md
git clone https://github.com/YOUR_USERNAME/smartconfess.git
cd smartconfessnpm installcd client
npm installCreate a .env file in the root folder:
PORT=3000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_super_secret_key
npm startcd client
npm run devFrontend runs on:
http://localhost:5173
Backend runs on:
http://localhost:3000
- Passwords are hashed using bcrypt
- JWT authentication protects private routes
- Environment variables secured via
.env .gitignoreconfigured to protect sensitive data
Recommended Deployment Stack:
- Frontend → Vercel
- Backend → Render / Railway
- Database → MongoDB Atlas
- Real-time notifications (Socket.io)
- Pagination
- Cloudinary image hosting
- Comment reply system
- Admin dashboard
- Dark/Light theme toggle
Arijit Sen
BTech – Electronics & Communication Engineering
Full Stack Developer
This project is open-source and available under the MIT License.
⭐ If you found this project helpful, please consider giving it a star on GitHub!
Your support motivates further development and improvements 🚀
