Clone
7
Roadmap
hobokenchicken edited this page 2026-07-06 14:06:18 -04:00
Development Roadmap
Phase 1: Core Chat (MVP) — ✅ DONE
- Go backend scaffold
- PostgreSQL migrations
- Auth (register, login, sessions, Argon2id)
- WebSocket gateway
- Server CRUD
- Channel CRUD
- Message CRUD with pagination
- React frontend scaffold
- Terminal-styled layout (Gruvbox dark)
- Zustand stores (auth, server, channel, message, websocket)
- Docker Compose dev stack
- File uploads (MinIO)
- Giphy GIF search + trending
- User profiles (display name, bio, accent color, status, avatar/Gravatar)
Phase 2: Voice & Video — ✅ DONE
- LiveKit container deployment
- coturn container deployment
- Voice channel UI (join/leave, participant list, mute/deafen)
- Backend: LiveKit room management (create, token generation)
- Video toggle within voice channels
- Screen sharing
- Voice state events (join/leave/mute) broadcast via WebSocket
Phase 3: Polish & PWA — ✅ DONE
- PWA manifest + service worker
- Push notifications (frontend + backend)
- WebAuthn / passkeys (full implementation)
- Mobile-responsive layout (bottom nav, swipe gestures)
- Message reactions (emoji picker, counts)
- Message replies/threads
- Typing indicators
- Online presence (online/idle/dnd/offline)
- User profiles (avatar upload, bio, status text)
- Dark mode (default) + light mode toggle
- Channel mention notifications (@user, @everyone, @role)
- Invite link system (with optional expiry)
Phase 4: Bots & Extensibility — ✅ DONE
- Bot application creation via API
- Bot token authentication
- Bot WebSocket gateway (receive events, send messages)
- Slash command registration and handling
- Incoming webhook endpoint
- Example bot: moderation (auto-delete, kick, ban commands)
- Example bot: welcome messages on member join
- REST API documentation (Swagger UI at /docs)
Phase 5: TUI Client — ✅ DONE
- Bubbletea app scaffolding
- Multi-pane layout (server bar, channel list, chat, members)
- WebSocket client for real-time events
- Vim-style navigation (j/k, g/G, Tab, /)
- IRC-style message rendering
- Message input with history
- Voice support (join/leave, mute)
- Lipgloss Gruvbox theming
- Static binary (
dumpster-tui) - Config file + env vars
Phase 6: Security & Permissions — ✅ DONE
- Permission bitflags (11 permissions)
- Permission checker with role aggregation
- Permission middleware for route protection
- Role CRUD per server
- Member role assignment
- Default @everyone role
- Frontend role manager UI
- Push notification backend (VAPID)
- Push notification frontend (subscribe toggle)
- Push notification mention parsing and dispatch
- WebAuthn passkey backend (full begin/finish flow)
- WebAuthn passkey frontend (register/login buttons)
- REST API documentation (Swagger UI at /docs)
- Inline markdown formatting toolbar (B/I/S/code/spoiler)
- GIF picker and kaomoji in DMs
- Restore last active channel on login
- DM push notifications