The Real-Time Messaging API is a robust messaging solution designed to facilitate real-time communication between users or applications. It provides a seamless experience for sending and receiving messages instantly.
This API leverages WebSockets to establish a persistent, bidirectional communication channel between clients and servers, ensuring efficient message delivery with minimal latency. It supports various features such as user authentication, presence detection.
To get started with the Real-Time Messaging API, follow these steps:
- Clone repository
git clone https://github.com/lovistawiah/chat-api.git
- Install Dependencies
npm install
- Create .env file in the root dir and add key/value pair
MONGO_URI=value
JWT_SECRET=value
- Start dev server
npm run dev
npm install nodemon
or
edit package.json file
- nodemon dist/main.js
+ node dist/main.js
- Real-Time Communication: Establish instant, bidirectional communication between clients and servers.
- WebSocket Support: Utilize WebSockets for persistent connections, enabling real-time message delivery.
- User Authentication: Authenticate users to ensure secure access to messaging services.
- Presence Detection: Monitor user presence to determine online/offline status.
- Message History: Retrieve message history for seamless conversation continuity.
- Secure Socket: Using jsonweb token as secure handshake protocol.
- Message Encryption: Encrypt messages to ensure data privacy and security.
- Media Share: Sharing of media data.
- Vide/Audio Call: Making of video and audio calls at low latency.
- Passkeys: Passkeys as multi factor authentication.
- Group chats : support for more than two users in chat.