Chatter is a fully responsive real-time chat application that enables users to communicate instantly with each other. It is built with a robust tech stack, including React.js and Tailwind CSS for the frontend, Zustand for efficient state management, Node.js and Express.js for the backend, and Socket.io for real-time communication. It provides features like real-time messaging with image sharing capabilities in chats, online/offline user status, user authentication, and profile management.
-
Real-time Communication: Implemented real-time messaging and live user status updates using
Socket.IO, enabling seamless bidirectional communication. -
State Management: Built efficient state management system using
Zustandfor optimized performance. -
Navigation: Utilized
React Router v6for client-side routing with dynamic routes for seamless navigation. -
Responsive UI: The frontend is built with
React.jsand designed fully responsive UI usingTailwind CSSfor a modern mobile-friendly experience. -
Authentication: Implemented secure user authentication using
JWT and bcrypt.jswith HTTP-only cookies for enhanced security measures. -
Database: Designed and integrated
MongoDBdatabase schema usingMongooseODM for efficient data modeling and relationships. -
API Endpoints: Built RESTful API endpoints with
Express.jsfollowing MVC architecture for clean code organization. -
File Upload: Integrated
Cloudinary cloud storagefor media management, handling user profile pictures and message attachments.
| Frontend Technologies ๐จ | Backend Technologies ๐ |
|---|---|
| React.js & React DOM | Node.js with Express.js |
| Tailwind CSS | MongoDB with Mongoose |
| Zustand for state management | JWT for authentication |
| Socket.IO Client | Socket.IO for real-time communication |
| Axios for HTTP requests | Bcrypt.js for password hashing |
| React Hot Toast for notifications | Cloudinary for image storage |
| React Router Dom for navigation | CORS for cross-origin resource sharing |
๐พ Bhaskar Jha (โ๏ธ @bhaxkar )