CHIT CHAT
View on GitHubChit Chat is a real-time messaging platform with room-based group chat, file uploads, and user authentication. The interesting architectural decision here was dual database support: the app runs on both MongoDB and MySQL without changing application logic.
Instead of using an ORM that abstracts both databases, the data layer uses Mongoose for MongoDB and mysql2 for MySQL directly. This meant writing consistent model logic for both, which made the structure more deliberate.
Authentication uses JWT with bcryptjs for password hashing. File uploads go through Multer. Password reset is handled via email using Mailjet. Socket.IO manages the real-time message delivery across all connected clients in a room.
Socket.IO · Node.js · MongoDB · Express.js