An anonymous messaging platform inspired by Sarahah, built with Node.js, Express, and PostgreSQL. Designed for users to receive honest anonymous feedback via shareable chat links. Originally intended for employee feedback, now used widely for fun and communication.
- JWT Authentication (Signup / Login)
- Anonymous message sending
- User profile with shareable link
- Role-based: only registered users can view messages they receive
- PostgreSQL with Sequelize ORM
- Email verification
- Secure password hashing
Sarahah-App/
├── config/ → PostgreSQL database connection
├── controllers/ → Handles logic for auth, users, messages
├── middlewares/ → Auth, validation, error handling
├── models/ → Sequelize models (User, Message)
├── routes/ → Express routes
├── services/ → Core business logic (messaging, user)
├── utils/ → Email, token, helpers
└── index.js → Entry point
-
Clone the repository:
git clone https://github.com/mody19765/sarahah-app.git
cd sarahah-app -
Install dependencies:
npm install -
Create
.envfile: -
Run the app:
npm start
POST /signup→ Register new userPOST /login→ User loginPOST /verify-email→ Email verificationPOST /forgot-password→ Request password resetPOST /reset-password→ Reset password
POST /messages/:username→ Send anonymous message to userGET /messages→ Authenticated user retrieves their own messagesDELETE /messages/:id→ Delete a specific message
GET /me→ Get authenticated user profilePATCH /me→ Update user profile
User
- id, username, email, password (hashed), verified (boolean)
Message
- id, content, receiverId (user), createdAt
- Reactions to messages
- Block anonymous senders
- Admin moderation tools
- Mobile-friendly frontend
- Real-time notifications
Mohamed Ehab
Email: mody.dev19765@gmail.com
GitHub: https://github.com/mody19765
If you found this app useful, drop a ⭐️ and share it!