74 lines
No EOL
2.8 KiB
Markdown
74 lines
No EOL
2.8 KiB
Markdown
# Aether Project Roadmap
|
|
|
|
**Project**: A beautiful, fast, native cross-platform Qt 6 + QML client for the self-hosted Stoat backend.
|
|
**License**: AGPL-3.0
|
|
**Core Principles**: Modular architecture, clean code, performance-first, testability, easy to self-host, no telemetry.
|
|
|
|
**Theme Direction**
|
|
Main theme: Black (primary) / Gold (secondary) / Purple (accents) — inspired by apollons.net.
|
|
The theme will become fully user-customizable in Phase 7.
|
|
|
|
---
|
|
|
|
### Phase 1: UI Foundation & Basic Interactivity (Current)
|
|
1. Finalize basic layout stability (guild list, channel list, chat area, member list, voice bar)
|
|
2. Add realistic placeholder data (guilds, channels, fake messages, fake users)
|
|
3. Make UI interactive (channel switching, guild switching, basic message input)
|
|
4. Keyboard navigation basics
|
|
5. Create `UI_Style_Guide.md`
|
|
|
|
### Phase 2: Core Data Layer & Fake Backend
|
|
6. Create clean in-memory data models (`MessageModel`, `ChannelModel`, `GuildModel`, `UserModel`)
|
|
7. Implement proper channel switching that updates chat content
|
|
8. Fake message sending (adds to list instantly)
|
|
9. Basic app state management (current guild, current channel, etc.)
|
|
|
|
### Phase 3: Authentication & Stoat API Foundation
|
|
10. Create `StoatClient` C++ class (network layer, JSON handling)
|
|
11. Login / token storage / logout flow
|
|
12. Fetch real guilds, channels, and members from Stoat
|
|
13. Establish real-time WebSocket connection (Stoat events)
|
|
|
|
### Phase 4: Full Text Chat
|
|
14. Real message loading and sending via Stoat
|
|
15. Read/unread indicators, typing indicators
|
|
16. Message reactions and replies (basic)
|
|
17. Search within a channel
|
|
|
|
### Phase 5: Voice & Video
|
|
18. Voice channel joining / leaving UI
|
|
19. VoiceBar improvements + mute/deafen logic
|
|
20. Basic voice connection using Qt Multimedia
|
|
21. Video feed placeholder and toggle
|
|
|
|
### Phase 6: Advanced Features
|
|
22. Direct Messages (DMs)
|
|
23. Notifications (in-app + system tray)
|
|
24. User settings and profile
|
|
25. Threads
|
|
26. Roles and permissions (basic)
|
|
|
|
### Phase 7: Polish, Theming & Cross-Platform
|
|
27. Full theming system (Black/Gold/Purple base + user-customizable themes)
|
|
28. Dark/Light mode + system preference support
|
|
29. Performance optimizations (virtualization, lazy loading)
|
|
30. Error handling and offline mode
|
|
31. Unit + UI tests
|
|
32. Internationalization stub
|
|
33. Build presets for Windows + macOS
|
|
34. Linux packaging (AppImage + Flatpak)
|
|
35. Android/iOS preparation
|
|
|
|
### Phase 8: Release & Distribution
|
|
36. Final code review and security audit
|
|
37. Complete documentation (README, build instructions, self-hosting guide)
|
|
38. First public release (v0.1.0)
|
|
39. CI/CD pipeline setup
|
|
|
|
---
|
|
|
|
**Current Position**: We are at the beginning of **Phase 1**.
|
|
|
|
This roadmap is the single source of truth. All future work (with Claude or otherwise) must follow this order unless explicitly revised.
|
|
|
|
Last updated: 2026-03-30 |