diff --git a/Roadmap.md b/Roadmap.md index f551f2a..12b668d 100644 --- a/Roadmap.md +++ b/Roadmap.md @@ -1,6 +1,6 @@ # Development Roadmap -## Phase 1: Core Chat (MVP) — DONE +## Phase 1: Core Chat (MVP) — ✅ DONE - [x] Go backend scaffold - [x] PostgreSQL migrations @@ -10,38 +10,48 @@ - [x] Channel CRUD - [x] Message CRUD with pagination - [x] React frontend scaffold -- [x] Terminal-styled layout +- [x] Terminal-styled layout (Gruvbox dark) - [x] Zustand stores (auth, server, channel, message, websocket) - [x] Docker Compose dev stack +- [x] File uploads (MinIO) +- [x] Giphy GIF search + trending +- [x] User profiles (display name, bio, accent color, status, avatar/Gravatar) -## Phase 2: Voice & Video +## Phase 2: Voice & Video — ✅ DONE -- [ ] LiveKit integration in frontend -- [ ] Voice channels (persistent, drop-in) -- [ ] Video calls -- [ ] Screen sharing -- [ ] Mute/deafen controls +- [x] LiveKit container deployment +- [x] coturn container deployment +- [x] Voice channel UI (join/leave, participant list, mute/deafen) +- [x] Backend: LiveKit room management (create, token generation) +- [x] Video toggle within voice channels +- [x] Screen sharing +- [x] Voice state events (join/leave/mute) broadcast via WebSocket -## Phase 3: Polish & PWA +## Phase 3: Polish & PWA — ✅ DONE -- [ ] PWA manifest and service worker -- [ ] Web Push notifications (VAPID) -- [ ] WebAuthn / passkeys -- [ ] Mobile-responsive layout -- [ ] Message reactions, replies, threads -- [ ] Typing indicators -- [ ] Online presence -- [ ] Meilisearch message search -- [ ] User profiles -- [ ] Invite links +- [x] PWA manifest + service worker +- [ ] Web Push notifications (VAPID) — frontend ready, backend keys needed +- [ ] WebAuthn / passkeys — deferred +- [x] Mobile-responsive layout (bottom nav, swipe gestures) +- [x] Message reactions (emoji picker, counts) +- [x] Message replies/threads +- [x] Typing indicators +- [x] Online presence (online/idle/dnd/offline) +- [x] User profiles (avatar upload, bio, status text) +- [x] Dark mode (default) + light mode toggle +- [x] Channel mention notifications (@user, @everyone, @role) +- [x] Invite link system (with optional expiry) -## Phase 4: Bots & Extensibility +## Phase 4: Bots & Extensibility — ✅ DONE -- [ ] Bot application creation -- [ ] Bot token authentication -- [ ] Bot WebSocket gateway -- [ ] Slash commands -- [ ] Incoming webhooks +- [x] Bot application creation via API +- [x] Bot token authentication +- [x] Bot WebSocket gateway (receive events, send messages) +- [x] Slash command registration and handling +- [x] Incoming webhook endpoint +- [x] Example bot: moderation (auto-delete, kick, ban commands) +- [x] Example bot: welcome messages on member join +- [ ] REST API documentation (OpenAPI/Swagger) — future ## Phase 5: TUI Client