chatting-popup
v0.2.2
Published
a chat bot
Downloads
24
Readme
Chat Bot Application
A chat bot application allows real-time messaging between users and a bot (or other users) in a sleek, user-friendly interface. Using Material UI for the frontend and Socket.IO for real-time communication, this application provides a modern and responsive user experience.
Key Features
Real-Time Communication:
Socket.IO Integration: Enables instant messaging by maintaining a persistent connection between the client and server, ensuring real-time data transfer. User Interface:
Material UI: Provides a rich set of UI components to create a polished and responsive interface. Components like buttons, text fields, modals, and cards are used extensively. Responsive Design: Ensures the chat application works seamlessly on various devices, from desktops to mobile phones. Authentication and User Management:
Login/Signup: Secure user authentication, often using JWT (JSON Web Tokens) for maintaining sessions. User Profiles: Allow users to update their profile information and view other users' profiles. Chat Features:
One-on-One Chat: Users can send and receive messages in real-time. Message History: Stores chat history for users to view past conversations. Notifications:
Real-Time Notifications: Inform users of new messages, online status changes, and other important events. Browser Notifications: Optional notifications that appear even when the user is not actively using the chat application. Technical Implementation
Api Doc
- get the current user: /api/v1/users/current-user
- set the user conversation: /api/v1/conversation/user
- signin and signup: /api/v1/users
- send message: /api/v1/conversation/messages/send
- get the users: /api/v1/authentication/users/all
Socket Doc
- socket.emit('private_message', { recipientId:email, message }) ==> send the message along with unique email
- socket.emit('userOnline', user?.email) ==> update the user email when user llogin
- socket.on('updateOnlineAdmins', (onlineAdmin) => { get the online admins})
- socket.on('new_message', (data) => get the message received and sent data.message);