Util4Dev Wiki API
Welcome to the Util4Dev Wiki Service API documentation. This service provides a comprehensive backend for a collaborative wiki/document editing platform.
Overview
Util4Dev Wiki Service is a RESTful API built with Spring Boot 4.0.1 and Java 17, providing:
- Document Management - Create, update, delete, and organize documents in a hierarchical tree structure
- Real-time Collaboration - Yjs CRDT-based collaborative editing via Hocuspocus
- Workspace Management - Multi-tenant workspace support with team management
- Role-based Access Control - 5-level permission system (Owner, Admin, Editor, Commenter, Viewer)
- Comment System - Threaded comments with inline anchoring and @mentions
- Notification System - Real-time notifications via WebSocket
- Document Export - Export to PDF, DOCX, and Markdown formats
- File Attachments - S3-compatible storage via MinIO/RustFS
- Public Publishing - Share documents publicly without authentication
- Invitation System - Token-based workspace invitations
Tech Stack
| Component | Technology |
|---|---|
| Framework | Spring Boot 4.0.1 |
| Language | Java 17 |
| Database | PostgreSQL |
| Cache | Redis |
| Auth | Firebase / Keycloak (configurable) |
| Storage | MinIO (S3-compatible) |
| Real-time | Yjs + Hocuspocus (WebSocket) |
| API Docs | SpringDoc OpenAPI (Swagger) |
Base URL
All API endpoints are prefixed with:
/api/v1
For example, the documents endpoint is available at:
GET /api/v1/documents
Swagger UI
Interactive API documentation is available at:
/api/v1/swagger-ui/index.html