- SETUP: local dev guide (env vars, DB migrate, backend/frontend, troubleshooting) - HOSTING: bare-metal guide (systemd + Nginx + TLS + backups) and Docker Compose guide (deploy, reverse proxy, updates, backup/restore) - API: REST contract with curl examples and Socket.IO event protocol - ARCHITECTURE: stack, data model, auth model, realtime design, theming - ROADMAP: webapp MVP/next steps plus Tauri desktop clients for Windows, macOS and Linux with release-binary plan
2.6 KiB
2.6 KiB
Roadmap
Phase 1 — Web app MVP (this repo, v0.1) ✅
- Auth (register/login/JWT), workspaces, invites, roles
- Nested pages, TipTap rich text, comments, search
- Socket.IO realtime (live updates, presence, typing)
- Light/dark mode
- Bare-metal + Docker Compose hosting docs
- Hardening: refresh tokens, email verification, password reset
- Tests: backend integration tests (auth/workspaces/pages), frontend smoke test
- Uploads: cover images / attachments (S3-compatible or local volume)
Phase 2 — Collaboration+ (v0.2)
- Yjs (Hocuspocus) CRDT editing to replace last-write-wins
- Page sharing links (public read-only), granular page permissions
- Version history / restore snapshots
- Notifications (mentions, invites) + activity feed
- i18n (English + German at minimum)
Phase 3 — Desktop clients (v0.3): Windows / macOS / Linux binaries
Goal: installable desktop apps published as GitHub/Gitea Release binaries
(.exe/.msi, .dmg, .AppImage/.deb).
Chosen approach: Tauri v2 (Rust core + existing Vue frontend as webview):
- Small binaries (~10MB), native OS integration, auto-updater support.
- Alternative considered: Electron (larger, heavier) — fallback if native modules block Tauri.
Steps:
- Add
src-tauri/(Tauri v2 init), reusefrontend/distas bundle frontend. - Deep-link + offline cache: bundle API base-URL setting screen; local-first drafts in IndexedDB with background sync.
- CI build matrix (Gitea Actions / GitHub Actions):
tauri-actiononwindows-latest,macos-latest,ubuntu-latest. - Code signing: Windows (SignPath/Azure Trusted Signing), macOS (Developer ID
- notarization), Linux (GPG
.sig+ checksums).
- notarization), Linux (GPG
- Auto-update feed (
updater.jsonin Releases) + in-app update prompt. - Publish flow: tag
vX.Y.Z-> CI builds 3 binaries -> attach tohttps://git.sysdaemon.xyz/x3/openStack/releases. - Distribution extras: winget/Scoop manifests, Homebrew cask, Flathub submission.
Release artifact naming:
openStack_0.3.0_x64-setup.exe (Windows)
openStack_0.3.0_x64.dmg (macOS Intel)
openStack_0.3.0_aarch64.dmg (macOS Apple Silicon)
openStack_0.3.0_amd64.AppImage (Linux)
Track desktop work in issues with label client. Web app remains the primary target
until v0.3; API stays compatible (desktop = wrapper around the same frontend + API).
Phase 4 — Mobile / polish (v0.4+, tentative)
- PWA packaging (installable web app) before native mobile
- Evaluate Capacitor/Tauri-mobile for Android/iOS