https://github.com/loro-dev/loro-todo
https://github.com/loro-dev/loro-todo
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/loro-dev/loro-todo
- Owner: loro-dev
- License: other
- Created: 2025-09-17T01:22:31.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-12-24T11:36:23.000Z (5 months ago)
- Last Synced: 2025-12-26T01:27:04.970Z (5 months ago)
- Language: TypeScript
- Homepage: https://todo.loro.dev
- Size: 952 KB
- Stars: 4
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Agents: AGENTS.md
Awesome Lists containing this project
README
# Loro Todo List
A lightweight reference app that shows what you can build with the [Loro](https://loro.dev) CRDT stack. The goal is to demonstrate how Loro enables local-first, real-time collaboration in a familiar todo list UI without running a custom backend.
## Why
- Show how `loro-crdt`, `loro-mirror`, and `loro-mirror-react` fit together in a modern React project.
- Highlights Loro's strengths: offline-first data, peer collaboration via the hosted public sync service, and automatic conflict resolution.
- Simple, collaborative, and account-free
## Collaboration & Sync
This project connects to the hosted Loro public sync server for real-time collaboration. Each client generates a P-256 key pair locally; the workspace public key plus a signature derived from the private key authenticate the WebSocket join request. Because the share URL encodes both the public key and the private key fragment, collaborators can join the same room just by visiting the shared link. Live synchronization currently relies on the closed-source `loro-protoco` and `loro-websocket` packages.
## Quick start
```bash
pnpm install
pnpm dev
```
The dev server runs on http://localhost:5173 and rebuilds the local Loro packages automatically.
To create a production build:
```bash
pnpm app:build
```
## License
Released under the [GNU Affero General Public License v3.0](./LICENSE). Remember to keep the icon licenses noted in the source files if you redistribute the build.