01
collaborative systems
flagship project
SyncPad
03
permission levels
owner / editor / viewer
A production-oriented collaborative rich-text editor with durable document state, multi-layer authorization, and real-time comments.
architecture
- Next.js client renders the dashboard and editor, connects Tiptap to Yjs, and manages permission-aware interface states
- Spring Boot API owns document CRUD, sharing, authorization, comment persistence, and Flyway migrations
- Hocuspocus service authorizes WebSocket sessions and synchronizes Yjs document and awareness state
- PostgreSQL stores documents, permissions, comments, and collaborative state; Redis supports transient coordination
key implementation details
- Tiptap and Yjs provide conflict-free rich-text editing, presence, synchronization state, and reconnection behavior
- Owner, editor, and viewer permissions are enforced independently by the REST API and collaboration service
- Inline comment threads support replies, resolution, reopening, filtering, and real-time updates
- The dashboard supports document CRUD, invitations, sharing controls, and permission-revocation handling
- Frontend, collaboration-service, backend, Testcontainers, Flyway, and Playwright checks run through CI
built with
Next.js / React / TypeScript / TipTap / Yjs / Hocuspocus / Spring Boot / PostgreSQL / Redis / Clerk / Docker / Playwright

