collab.js
v1.0.0
Published
Real-time collaboration tools for applications with WebSocket communication, version control, user roles, and notifications.
Downloads
12
Maintainers
Readme
collab.js
collab.js
is a comprehensive real-time collaboration tool designed for modern applications. It provides essential features for real-time communication, version control, user role management, and notifications, allowing multiple users to collaborate on documents simultaneously.
Features
- WebSocket Communication: Enables real-time updates and interaction between users.
- Version Control: Track and manage changes made to documents.
- User Role Management: Define and control user roles and permissions.
- Notifications: Receive real-time alerts about document changes.
Installation
To get started with collab.js
, you need to install it via npm:
npm install collab.js
Usage
Initialize Server
You can use collab.js
by importing it into your Node.js application and setting up the server:
const { app, server, websocketService } = require('collab.js');
// Configure your server and WebSocket
const PORT = process.env.PORT || 3000;
server.listen(PORT, () => {
console.log(`Server is running on port ${PORT}`);
});
API Endpoints
Authentication
- Register:
POST /api/auth/register
- Registers a new user.
- Login:
POST /api/auth/login
- Logs in a user and returns a JWT token.
Collaboration
Save Change:
POST /api/collaboration/changes
- Saves a change to a document. Requires a valid JWT token.
Get Document:
GET /api/collaboration/documents/:id
- Retrieves a document by its ID. Requires a valid JWT token.
WebSocket
To enable real-time updates, establish a WebSocket connection:
const WebSocket = require('ws');
const ws = new WebSocket('ws://localhost:3000');
// Handle incoming messages
ws.onmessage = (event) => {
const data = JSON.parse(event.data);
console.log('Received:', data);
};
// Send a change message
ws.send(JSON.stringify({
type: 'change',
data: { documentId: 'doc123', change: 'Updated content' }
}));
Environment Configuration
You can customize the following environment variables by creating a .env
file in the root of your project:
PORT=3000
MONGODB_URI=mongodb://localhost/collabjs
ACCESS_TOKEN_SECRET=your_jwt_secret
- PORT: The port on which the server will run (default: 3000).
- MONGODB_URI: MongoDB connection URI (default:
mongodb://localhost/collabjs
). - ACCESS_TOKEN_SECRET: JWT secret for authentication (default:
your_jwt_secret
).
Modify these values according to your needs.
License
This project is licensed under the MIT License.