x3
663f7c16cc
feat: first-run web installer with admin account creation
...
ci / backend (push) Canceled after 0s
ci / frontend (push) Canceled after 0s
- Backend: app_settings table + users.is_admin flag (schema + migrate)
- POST /api/setup creates admin user, first workspace and marks installed
(transactional, single-use, rate-limited); GET /api/setup/status
- Guard middleware: API answers 503 { setupRequired: true } until installed
- Frontend: /setup wizard (welcome, admin account, workspace), router guard
redirects to installer when uninstalled, API interceptor handles 503
- Docs: installer covered in README, SETUP, HOSTING and ROADMAP
2026-09-22 13:39:33 +02:00
x3
375df06d59
fix(backend): correct relative imports in socket module
...
ci / backend (push) Canceled after 0s
ci / frontend (push) Canceled after 0s
- socket.js lives in src/, so imports must be ./middleware/auth.js
and ./config/db.js (was ../.., which broke server startup)
2026-09-22 13:36:36 +02:00
x3
a407a1381a
docs: setup, hosting, API, architecture and roadmap
...
ci / backend (push) Canceled after 0s
ci / frontend (push) Canceled after 0s
- 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
2026-09-22 13:33:22 +02:00
x3
5252e3ab4f
feat(frontend): Vue 3 workspace UI with light/dark mode
...
- Vue 3 + Vite + Pinia + Vue Router, Axios client with JWT interceptor
- Auth views (login/register), dashboard with workspace switcher and search
- Nested PageTree sidebar, TipTap rich-text editor with debounced save
- Live collaboration via Socket.IO (remote updates, presence avatars, typing)
- Comments thread per page, invite-members card, member list
- Theme store (light/dark/system) persisted, CSS variables, ThemeToggle
- Multi-stage Dockerfile (build + nginx) for hosting
2026-09-22 13:33:22 +02:00
x3
4ba8f8bd21
feat(backend): Express + Socket.IO API with PostgreSQL
...
- Auth: register/login/me with bcrypt (12 rounds) and JWT bearer tokens
- Workspaces: CRUD, role-based members (owner/admin/member/viewer), invite by email
- Pages: nested hierarchy, TipTap JSON+HTML content, archive, search, comments
- Realtime: Socket.IO rooms per page with JWT handshake, live edits, presence, typing
- DB schema with triggers (owner membership, updated_at) and migrate script
- Helmet, CORS allow-list, rate limiting, /api/health with DB check
- Dockerfile (migrate-on-boot) for compose/production
2026-09-22 13:33:22 +02:00
x3
29c35f506d
chore: initial repository scaffolding
...
- Add README with features, quick-start (local + Docker) and docs index
- Add MIT LICENSE, root .gitignore and .env.example
- Add docker-compose.yml (postgres + backend + frontend)
- Add root package.json with install:all/dev helpers
- Add Gitea CI workflow (backend syntax check, frontend build)
2026-09-22 13:33:22 +02:00