An open-source, privacy-first anonymous messaging web app where users can get to know what others think about them by receiving anonymous messages from others — built with Node.js, Express, MongoDB, Redis, BullMQ, Server-Sent Events (SSE), React.js, HTML, CSS, JavaScript.
- ✅ Anonymous Messaging — Anyone can send a message anonymously without logging in.
- 🔐 Easy User Authentication — Register with just an username, no credentials needed.
- 📨 Inbox — View all messages sent to your unique anonymous Username.
- 🌊 Real-time Notifications — Get Real-time update of newly received messages powered by Server-Sent Events (SSE).
- 📊 Message Queue System — BullMQ + Redis handles background jobs like real-time notifications of newly received messages.
- ⏯️ Pause and Resume Link - Pause link to stop getting messages and resume it to resume getting messages anytime with just one click.
- 🗑️ Delete Account - Delete account when required with just a click.
- Frontend: React.js
- Backend: Node.js, Express.js
- Database: MongoDB, Redis (for using message queue in BullMq for Server-Sent-Events)
- Deployment: Vercel (Frontend), Render (Backend), Render (Redis), MongoDB Cloud (MongoDB)
- Clone the repository:
https://github.com/Subrata-Rudra/Anonymous-messaging-wep-app.git
- Navigate to the project directory:
cd Anonymous-messaging-wep-app - Install backend dependencies:
cd backend npm install - Install frontend dependencies:
cd ../frontend npm install
- Set up environment variables for backend:
- Create a
.envfile in thebackenddirectory. - Add the following:
MONGO_URI=your_mongodb_connection_string JWT_SECRET=your_jwt_secret REDIS_HOST=127.0.0.1
- Create a
- Set up environment variables for frontend:
- Create a
.envfile in thefrontenddirectory. - Add the following:
VITE_BACKEND_SERVER_URL=your_backend_server_url(i.e http://localhost:5000)
- Create a
- Ensure MongoDB is running and accessible.
- Ensure Redis Server is running and accessible.
-
Start the backend server:
cd backend npm startThe backend will run on
http://localhost:5000. -
Start the frontend application:
cd ../frontend npm run devThe frontend will run on
http://localhost:5173. -
Access the application: Open your browser and navigate to
http://localhost:5173.
This project is licensed under the MIT License.
If you find this project helpful, please consider giving it a ⭐️ star — it really helps and motivates!
I welcome contributions of all kinds — whether it's bug fixes, feature suggestions, documentation improvements, or code enhancements. Feel free to fork the repo and submit a pull request!
