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