Real-time collaborative markdown editor with Simulink-style block pipeline architecture.
Deployed on Render (free plan — first load may take ~30s to wake up):
https://comd-b4ix.onrender.com
| Page | URL |
|---|---|
| Editor | / |
| Login | /login.html |
| Admin (user management) | /admin.html |
| Pipeline Graph | /graph.html |
| Block Table View | /blocks.html |
Note: Free plan spins down after 15 min idle. First visit after idle takes ~30s cold start. After that it runs normally. Files persist during session but reset on redeploy.
npm install
node src/main.js
# Open http://localhost:3000docker compose up- Dual-pane editor (raw markdown + live preview)
- Real-time sync via WebSocket (live typing)
- Edit lock with 5-min timeout + request/accept/deny unlock
- Claude AI integration for document editing
- File upload and .md import
- Block pipeline visualizer (
/blocks.html)
Built-in user authentication with role-based access control.
- Default login:
admin/admin(change on first login) - Roles:
admin(manage users + edit),editor(edit files),viewer(read only) - Admin panel:
/admin.html— create/edit/delete users (admin role only) - Session tokens with 24-hour expiry, SHA-256 hashed passwords
- All API routes and WebSocket connections require authentication
Simulink-style block pipeline — every operation flows through composable blocks:
READ: Input → Validate → Render → Log → Output
SAVE: Lock → Validate → Save → Render → Log → Output
CLAUDE: Input → Claude → Validate → Save → Render → Log → Output
8 blocks, 5 pipelines, wired by RenderManager.
Configured for Render with persistent disk. See render.yaml.
Node.js, Express, WebSocket, sql.js, markdown-it, vanilla HTML/JS/CSS
