Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/arkorty/room-server
This project implements the backend server for a collaborative text editor using WebSockets, allowing multiple users to edit text in real-time within designated rooms.
https://github.com/arkorty/room-server
docker docker-compose golang gorilla-websocket sqlite typescript websocket
Last synced: 5 days ago
JSON representation
This project implements the backend server for a collaborative text editor using WebSockets, allowing multiple users to edit text in real-time within designated rooms.
- Host: GitHub
- URL: https://github.com/arkorty/room-server
- Owner: arkorty
- Created: 2024-10-30T10:37:04.000Z (7 days ago)
- Default Branch: master
- Last Pushed: 2024-10-30T20:03:31.000Z (7 days ago)
- Last Synced: 2024-10-30T20:33:43.686Z (7 days ago)
- Topics: docker, docker-compose, golang, gorilla-websocket, sqlite, typescript, websocket
- Language: Go
- Homepage:
- Size: 11.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# room-server
This project implements the backend server for a collaborative text editor using WebSockets, allowing multiple users to edit text in real-time within designated rooms.
## Features
- Real-time text updates among clients.
- Join and leave functionality for collaborative editing sessions.
- Automatic cleanup of inactive rooms.
- Persistent storage of room content.## Technologies Used
- WebSockets
- SQLite## Getting Started
### Prerequisites
- Go
- SQLite### Usage
1. Clone the repository.
2. Deploy using Docker Compose.### Using the Application
- Connect to the WebSocket endpoint.
- Send a JSON message to join a room.
- Send text updates in JSON format.### Room Cleanup
- Inactive rooms are automatically deleted after a specified duration.
## Contributing
Contributions are welcome! Please fork the repository and create a pull request.
## License
This project is open-source and available under the [MIT License](LICENSE).
## Acknowledgments
- Thanks to Me!