[Open-source] A modern collaborative document editor, rich editing capabilities, and real-time collaboration with multiple people
![[Open-source] A modern collaborative document editor, rich editing capabilities, and real-time collaboration with multiple people](https://yy123.ink/api/img/1781065320586-wq313e.jpg)
1. Project Overview
DocFlow
A modern collaborative document editor built with Tiptap and Next.js, featuring rich editing capabilities and real-time collaboration, supporting plugin extension, theme switching, and persistent storage. Suitable for team writing, educational notes, online documentation platforms, etc.
2. Open Source License
Licensed under MIT
This project is published under the MIT open-source agreement, except for part of the Tiptap Pro template code.
3. Screenshots




4. Feature Overview
Based on Tiptap + Yjs, a new generation of AI writing platform
DocFlow
AI Intelligent Writing Platform
Based on Tiptap + Yjs, a new generation of intelligent collaborative editor, integrating AI continuation, RAG knowledge library search, AI podcast generation, etc. core functions. Supports real-time collaboration editing, allowing teams to collaborate smoothly like Google Docs, while possessing strong AI capabilities.
Whether it's document writing, knowledge management, or content creation, DocFlow can significantly improve your work efficiency, perfectly combining creativity and technology.
Functional characteristics
-
Rich text editing: titles, lists, tables, code blocks, mathematical formulas, images, drag-and-drop, etc. -
Real-time collaboration: implemented with high-efficiency Yjs + @hocuspocus/provider -
Rich plugins: based on Tiptap Pro, multiple enhanced functions (such as emoticons, detail components, etc.) -
Perfect toolchain: supports Prettier, ESLint, Husky, Vitest, etc. development tools
DocFlow Core Capability Matrix
Nine core functional modules, building a complete AI-driven content creation ecosystem
Immersive editor
Next-generation editing experience built with Tiptap, supporting Markdown shortcuts, block-level editing, drag-and-drop layout, making writing as natural as flowing water
Real-time collaboration engine
Millisecond-level synchronization technology based on Yjs CRDT algorithm, supporting simultaneous editing of up to 100 people, automatic conflict resolution, collaboration has never been smoother
AI creation engine
Intelligent continuation system that deeply understands the context and background of the text, supporting multiple writing styles, making AI your most understanding creative partner
Knowledge graph system
Intelligent construction of knowledge association networks, automatic extraction of document key information, supporting semantic search and knowledge discovery, maximizing information value
RAG search enhancement
Intelligent search system combining vector databases and semantic understanding, accurately locating relevant content, providing strong knowledge support for creation
Smart dialogue assistant
AI assistant based on document context, deeply understanding your content, providing precise writing suggestions and creative inspiration
Audio content generation
Converting documents into professional podcasts with one click, supporting multiple languages, multiple voices, and emotional expression, spreading knowledge further through sound
Life smart assistant
All-round life service assistant, intelligently planning routes, managing schedules, and reminding important matters, making life more orderly and efficient
Agent workflow composition
Visual Agent construction platform, from input processing to output generation, supporting multi-modal data processing and complex logic composition
Source: DocFlow official website
5. Tech Stack
Technical stack
Frontend Technology Stack
|
Technology |
Description |
|
Next.js |
Building the foundation framework, supporting SSR / SSG |
|
Tiptap |
Rich text editor, based on ProseMirror |
|
Yjs |
Collaborative editing core, CRDT data structure |
|
@hocuspocus |
Yjs server and client provider |
|
React 19 |
UI framework, supporting Suspense and other new features |
|
Tailwind CSS |
Atomic CSS, integrating animation, form styles, etc. |
|
Socket.io |
Collaborative communication channel |
|
Prettier/ESLint |
Code style unification |
|
Vitest/Playwright |
Supporting unit testing and end-to-end testing |
Backend Technology Stack
|
Category |
Technology / Tools |
Description |
|
Application framework |
NestJS |
Modern Node.js framework, supporting modularity, dependency injection, decorators, and type safety, etc. |
|
HTTP service |
Fastify |
High-performance Web service engine, replacing Express, default integration with NestJS |
|
Collaborative editing service |
@hocuspocus/server, yjs |
Providing document collaborative editing WebSocket service and CRDT algorithm implementation |
|
Database ORM |
Prisma |
Type-safe database access tool, automatically generating schema, supporting migration and seed data |
|
Data validation |
class-validator, class-transformer |
Request data validation and automatic conversion, combined with DTO |
|
User authentication |
@nestjs/passport, passport, JWT, GitHub |
Supporting local login, JWT authentication, and GitHub OAuth login |
|
Cache and state |
ioredis |
Used for caching data, implementing rate limiting, collaborative session management, or Pub/Sub message push |
|
Object storage |
minio |
Private deployment of S3-compatible storage service, supporting image and attachment upload |
|
Image processing |
sharp |
Image compression, format conversion, thumbnail creation, etc. |
|
Log system |
winston, winston-daily-rotate-file |
Supporting multiple formats, log grading, automatic archiving, and log scheme |
|
Service monitoring |
@nestjs/terminus, prom-client |
Providing /health health checks and /metrics Prometheus metric exposure interfaces |
|
Monitoring platform |
Prometheus, Grafana |
Collecting and visualizing service running metrics (already integrated with Docker deployment configuration) |
|
API documentation |
@nestjs/swagger |
Generating Swagger UI documentation based on code annotations |
|
Security middleware |
@fastify/helmet, @fastify/rate-limit |
Add HTTP security headers, limit request frequency, prevent brute-force attacks, etc. security protection |
|
File Upload |
@fastify/multipart, @webundsoehne/nest-fastify-file-upload |
Support file streaming upload, integrate Fastify and NestJS for multi-file upload processing |