https://github.com/scriptraccoon/coldoc
basic collaborative text editor #vanilla
https://github.com/scriptraccoon/coldoc
Last synced: 8 months ago
JSON representation
basic collaborative text editor #vanilla
- Host: GitHub
- URL: https://github.com/scriptraccoon/coldoc
- Owner: ScriptRaccoon
- License: mit
- Created: 2024-01-21T02:47:13.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-02-16T15:14:11.000Z (over 2 years ago)
- Last Synced: 2025-03-03T03:17:25.651Z (over 1 year ago)
- Language: JavaScript
- Homepage: https://coldoc-xhpa.onrender.com
- Size: 165 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Coldoc
This is a basic collaborative text editor. There is no login, and documents can simply be shared via links.
https://coldoc-xhpa.onrender.com
Since editing texts at the same time by multiple clients seems to be notoriously difficult (see [OT](https://en.wikipedia.org/wiki/Operational_transformation) and [CRDT](https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type)), I have decided to keep it simple and just allow one editor at a time. When an editor is typing, the others have to wait. Once finished, someone else can continue typing.
## Tech
The tech stack is deliberately simple. The frontend uses no framework at all, it is just Vanilla JavaScript and Vanilla CSS. To render dynamic HTML we use EJS templates. The backend provides an express server and uses mongoose to connect with the MongoDB database. The communication between clients is implemented with socket.io. There is no build step on the frontend or the backend.
## Local development
1. Install the dependencies on the server with `pnpm install` (or `npm install`, etc.).
2. Run the development server `pnpm dev`.