20 KiB
AeThex-Connect Complete Features Roadmap
Current Status: 40% Complete (UI + Basic Functionality)
Target: 100% Feature Parity with Discord Clone + Blockchain Integration
PHASE 1: CORE FEATURES (15 hours) - ESSENTIAL
1.1 Message System
-
Emoji Reactions (30 min)
- Add emoji picker button next to messages
- Click emoji to toggle reaction
- Show reaction count badge
- Remove reaction on second click
- Files:
MessageInput.jsx,Message.jsx, add emoji-picker lib
-
File Uploads (1 hour)
- Wire UploadThing to message input
- Preview uploaded files before sending
- Display file attachments in messages
- Support images, PDFs, documents
- Files:
FileUploadModal.jsx,Message.jsx
-
Message Timestamps (15 min)
- Show human-readable timestamps
- Format: "Today 2:34 PM" / "Yesterday" / "Mon 3/1"
- Hover to show exact datetime
- Files:
Message.jsx, utility function
-
Message Search (2 hours)
- Add search bar in header
- Filter messages by keyword
- Highlight search results
- Show result count
- Files:
ChatAreaHeader.jsx, add searchStore
-
Typing Indicators (1 hour)
- Show "User is typing..." when someone types
- Hide after 3 seconds of inactivity
- Multiple typists support
- Files:
ChatArea.jsx, add typingStore
1.2 Channel Management
-
Edit/Delete Channels (1 hour)
- Edit channel name & description
- Delete channel with confirmation
- Move channels between categories
- Files:
ChannelSidebar.jsx, extend channelStore
-
Channel Topics/Descriptions (30 min)
- Show channel description in header
- Update channel topic
- Store in channelStore
- Files:
ChatAreaHeader.jsx
-
Mute/Archive Channels (30 min)
- Mute notifications from channel
- Archive channel (hide from list)
- Visual indicator for muted channels
- Files:
ChannelSidebar.jsx, extend channelStore
1.3 Member System
-
User Profiles (1 hour)
- Click member name → profile modal
- Show username, avatar, status, joined date
- Display user activity/game
- Add friend button (prep for later)
- Files:
UserProfileModal.jsx,Member.jsx
-
Member Status Indicator (30 min)
- Show online/offline/away/dnd status
- Live update presence
- Status badge on avatars
- Filter by status
- Files:
MemberSidebar.jsx, extend memberStore
-
Member Sorting (30 min)
- Sort by online status
- Sort by role (Admin → Mod → Member)
- Sort alphabetically
- Files:
MemberSidebar.jsx
1.4 User Interface Polish
-
Hover Effects (30 min)
- Add hover delete/edit buttons (DONE but needs refinement)
- Hover color changes
- Smooth transitions
- Files: CSS updates
-
Loading States (30 min)
- Show spinners while loading channels
- Show loading skeleton for messages
- Disable buttons while loading
- Files: Add to components
-
Error States (30 min)
- Handle network errors gracefully
- Show error toast messages
- Retry buttons
- Files: Add error handling
PHASE 2: ADVANCED MESSAGING (12 hours) - HIGH PRIORITY
2.1 Message Threading
-
Message Threads (2 hours)
- Right-click message → "Reply in Thread"
- Show thread badge with reply count
- Thread modal/sidebar view
- Nested conversation view
- Files:
ThreadModal.jsx, update messageStore
-
Thread Notifications (30 min)
- Notify when thread gets new reply
- Show unread thread count
- Mark thread as read
-
Thread Sorting (15 min)
- Sort threads by newest/oldest
- Show last reply time
2.2 Rich Text & Formatting
-
Bold/Italic/Underline (1 hour)
- Markdown support (bold, italic, underline)
- Toolbar buttons in message input
- Preview formatting
- Files:
MessageInput.jsx, add rich-text lib
-
Code Blocks (1 hour)
- Syntax highlighting for code
- Language detection
- Copy code button
- Files:
Message.jsx, add syntax-highlighter lib
-
Links & Embeds (1 hour)
- Auto-linkify URLs
- Show link preview cards
- Embed YouTube, Twitter, etc.
- Files:
Message.jsx
-
Mentions & Markdown (1 hour)
- @mention autocomplete
- #channel mentions
- Full markdown support (headers, quotes, lists)
- Files:
MessageInput.jsx, add mention autocomplete
2.3 Message Actions
-
Message Pins (1 hour)
- Pin important messages
- Show pinned messages in header dropdown
- Unpin messages
- Files:
ChatAreaHeader.jsx, extend messageStore
-
Message Bookmarks (1 hour)
- Bookmark messages for later
- View bookmarked messages
- Remove bookmarks
- Files: Add bookmarkStore
-
Quote Messages (30 min)
- Reply to specific message with quote
- Show original message context
- Files:
Message.jsx,MessageInput.jsx
PHASE 3: PERMISSIONS & ROLES (10 hours) - IMPORTANT
3.1 Role System
-
Create Custom Roles (1.5 hours)
- Create new roles beyond Admin/Mod/Member
- Set role colors
- Drag to reorder role hierarchy
- Files:
RoleManagementModal.jsx, add roleStore
-
Role Permissions Matrix (2 hours)
- Toggle permissions per role:
- Send messages
- Edit own messages
- Delete any message
- Manage channels
- Manage roles
- Kick members
- Ban members
- Store in roleStore
- Files:
PermissionsModal.jsx
- Toggle permissions per role:
3.2 Channel Permissions
-
Channel Permission Overrides (2 hours)
- Override server-wide permissions per channel
- Restrict roles from viewing channel
- Set who can speak in voice channels
- Files:
ChannelPermissionsModal.jsx
-
Private Channels (1 hour)
- Restrict channel visibility by role
- "Only visible to admins" etc.
- Files:
ChannelSidebar.jsx
3.3 Moderation
-
Ban System (1 hour)
- Ban members (can't rejoin)
- Ban list management
- Temp bans with expiry
- Files:
MemberSidebar.jsx, extend memberStore
-
Mute System (1 hour)
- Mute members (can't send messages)
- Show muted badge
- Mute duration settings
- Files: extend memberStore
PHASE 4: DIRECT MESSAGING (8 hours) - NICE TO HAVE
4.1 DM System
-
Direct Messages (2 hours)
- Open DM with any member
- DM sidebar showing conversations
- DM notifications
- Files:
DMSidebar.jsx, add dmStore
-
Group DMs (1.5 hours)
- Create group conversation
- Add/remove people from group
- Group name & avatar
- Files: DM system expansion
-
DM Notifications (30 min)
- Badge showing unread DMs
- Mention notifications
- Sound/desktop notifications (prep)
4.2 Message Requests
- DM Requests (1 hour)
- Strangers' DMs go to "Requests"
- Accept/decline requests
- Block users
- Files: add requestStore
PHASE 5: INVITE & ONBOARDING (6 hours) - COMMUNITY
5.1 Invite System
-
Generate Invite Links (1 hour)
- Create invite with expiry
- Set max uses
- Different link per invite
- Track invite source
- Files:
InviteModal.jsx, add inviteStore
-
Invite Management (1 hour)
- Revoke invites
- See who joined via invite
- Edit invite settings
- Files:
InviteManagementModal.jsx
-
Accept Invites (1 hour)
- Join server via invite link
- Auto-role assignment
- Welcome message
- Files: add route for
/invite/:code
5.2 Welcome
-
Welcome Channel (1 hour)
- Auto-create #welcome channel
- Post welcome message
- Quick onboarding questionnaire
- Files: server setup logic
-
New Member Questions (1 hour)
- Show modal on first join
- Collect info about member
- Use for welcome message
- Files:
OnboardingModal.jsx
PHASE 6: VOICE & VIDEO (12 hours) - COMPETITIVE ADVANTAGE
6.1 Voice Channels
-
Replace WebRTC with LiveKit (3 hours)
- Remove simple-peer dependency
- Install @livekit/components-react
- Basic voice room setup
- Join/leave voice
- Files: Major refactor,
VoiceChannel.jsx
-
Voice Channel UI (2 hours)
- Show connected users
- Mic/speaker toggle
- Volume control
- Mute other users
- Files:
VoiceControlBar.jsx
-
Voice Notifications (1 hour)
- Notify when someone joins voice
- Play join/leave sounds
- Show duration connected
- Files: Add notifications
6.2 Video Calls
-
Video Channel Support (2 hours)
- Enable video in voice channels
- Grid/gallery view
- Camera toggle
- Speaker view
- Files:
VideoGrid.jsx,VideoTile.jsx
-
Screen Share (2 hours)
- Share screen with audio
- Pause/resume screen share
- Show screen sharer indicator
- Files:
ScreenShareButton.jsx
-
Recording (1 hour)
- Record voice/video
- Download recordings
- Store in cloud (optional)
- Files: integration with backend
6.3 Voice Settings
-
Audio Input/Output (1 hour)
- Select mic/speaker device
- Test audio before joining
- Audio level indicator
- Files:
AudioSettings.jsx
-
Echo Cancellation (1 hour)
- Reduce echo/feedback
- Noise suppression
- Auto gain control
- Files: LiveKit config
PHASE 7: BACKEND INTEGRATION (15 hours) - CRITICAL
7.1 Authentication
-
Connection to Auth Endpoints (2 hours)
- Connect demo login to backend
- Real login/register
- JWT token handling
- Session persistence
- Files: Update AeThexProvider
-
Multi-Method Auth (1 hour)
- Password login
- OAuth (Google/GitHub/Clerk)
- Blockchain wallet login
- Files: Add auth methods
7.2 Database Sync
-
Fetch Real Channels (1 hour)
- Load channels from Supabase
- Store in channelStore
- Refresh on join
- Files: Add API calls
-
Fetch Real Messages (2 hours)
- Load messages from API
- Pagination/infinite scroll
- Cache management
- Real-time Socket.IO updates
- Files: Update ChatArea
-
Save Messages (1 hour)
- POST message to backend
- Handle optimistic updates
- Retry on failure
- Files: Update messageStore
-
Sync Member List (1 hour)
- Load server members from DB
- Update on join/leave
- Real-time presence via Socket.IO
- Files: Update memberStore
7.3 Real-time Updates
-
Socket.IO Integration (3 hours)
- Connect to Socket.IO server
- Listen for new messages
- Listen for member joins/leaves
- Listen for typing indicators
- Files: Create socketService.jsx
-
Optimistic Updates (2 hours)
- Show message immediately
- Rollback if fails
- Show loading state
- Handle conflicts
- Files: Update messageStore
-
Conflict Resolution (1 hour)
- Handle simultaneous edits
- Show version conflicts
- Last-write-wins logic
- Files: Add conflictStore
7.4 File Storage
-
UploadThing Integration (1.5 hours)
- Wire file uploads to UploadThing API
- Show upload progress
- Handle upload errors
- Get file URL
- Files:
FileUploadModal.jsx
-
File Deletion (30 min)
- Delete files from UploadThing
- Clean up on message delete
- Files: Add to backend
PHASE 8: NOTIFICATIONS (6 hours) - ENGAGEMENT
8.1 In-App Notifications
-
Toast Notifications (1 hour)
- Show temporary messages
- Auto-dismiss
- Different colors for types
- Files: Create
Toast.jsx,useToast.js
-
Mention Notifications (1 hour)
- Badge when @mentioned
- Highlight in chat
- Jump to mention context
- Files: Add notificationStore
-
Channel Activity Badges (30 min)
- Show unread count on channels
- Mark as read on view
- Files: extend channelStore
8.2 System Notifications
-
Desktop Notifications (1.5 hours)
- Request permission
- Show mentions as desktop notifications
- Show DMs as desktop notifications
- Click to jump to message
- Files: Add notificationService.js
-
Sound Notifications (1 hour)
- Play sound for mentions
- Play sound for DMs
- Mute global sound
- Per-channel sound settings
- Files: Add audioNotifications.js
PHASE 9: SETTINGS & PERSONALIZATION (8 hours) - UX
9.1 User Settings
-
Profile Settings (1 hour)
- Edit username
- Upload custom avatar
- Set custom status/bio
- Visibility settings
- Files:
UserSettingsModal.jsx
-
Privacy Settings (1 hour)
- DM privacy (who can DM)
- Show online status
- Show activity status
- Block list management
- Files:
PrivacySettingsModal.jsx
-
Notification Settings (1 hour)
- Mute server/channel
- Notification types per channel
- Time mute (do not disturb)
- Keywords that notify
- Files:
NotificationSettingsModal.jsx
9.2 Server Settings
-
Server General Settings (1.5 hours)
- Edit server name
- Upload server icon
- Change server region
- Default notification level
- Files:
ServerSettingsModal.jsx
-
Server Audit Log (1 hour)
- Show who did what
- Filter by action/person
- Export audit log
- Files:
AuditLogModal.jsx
-
Backup/Import (1 hour)
- Export server data
- Import settings
- Clone channel structure
- Files: Add export/import logic
9.3 Theme & Display
-
Dark/Light Theme (1 hour)
- Toggle dark/light mode
- Persist preference
- Match system preference
- Files: Create
ThemeProvider.jsx
-
Custom Colors (1 hour)
- Accent color picker
- Custom brand colors
- Save theme presets
- Files: extend themeStore
-
Zoom/Font Size (30 min)
- Adjust UI scale
- Adjust text size
- Adjust message density
- Files: Add scale settings
PHASE 10: ADVANCED FEATURES (10 hours) - POLISH
10.1 Search & Discovery
-
Advanced Message Search (1.5 hours)
- Search by author
- Search by date range
- Search by file type
- Save searches
- Files: Extend search UI
-
Server Directory (1 hour)
- Browse public servers
- Search by category/name
- Show member count
- Quick join
- Files:
ServerDirectory.jsx
10.2 Integrations
-
Webhook Support (1.5 hours)
- Create webhooks
- Post via webhooks
- Delete webhooks
- Test webhook
- Files:
WebhookModal.jsx
-
Bot Commands (1.5 hours)
- Command parser
- Bot command registry
- Help command
- Admin commands
- Files: Add commandService.js
10.3 Analytics & Admin
-
Server Stats Dashboard (1.5 hours)
- Member growth chart
- Message activity chart
- Most active channels
- Most active members
- Files:
StatsModal.jsx
-
Moderation Dashboard (1.5 hours)
- View reported messages
- Approve/reject reports
- Ban/mute history
- Action logs
- Files:
ModerationPanel.jsx
10.4 Export & Reporting
-
Message Export (1 hour)
- Export channel as JSON/CSV
- Export with attachments
- Download as HTML report
- Files: Add exportService.js
-
User Reports (1 hour)
- Report message
- Report user
- View submissions
- Admin panel for reports
- Files:
ReportModal.jsx
PHASE 11: MONETIZATION (6 hours) - REVENUE
11.1 Premium Features
-
Premium Tiers (1 hour)
- Free tier
- Premium tier ($4.99/mo)
- Pro tier ($9.99/mo)
- Define features per tier
- Files: Add subscriptionStore
-
File Storage Limits (1 hour)
- Free: 50MB/month
- Premium: 500MB/month
- Pro: 5GB/month
- Show storage usage
- Files: Add to FileUpload components
-
Custom Emojis (1 hour)
- Upload custom emojis (premium)
- Use in messages
- Emoji pack management
- Files:
CustomEmojiModal.jsx
11.2 Payments
-
Stripe Integration (2 hours)
- Subscription management
- Payment processing (already have Stripe installed)
- Invoice history
- Cancel subscription
- Files: Integrate Stripe payments
-
Ad-Free Option (1 hour)
- Remove ads for premium
- Hide ad placeholders
- Premium badge
- Files: Add ad components (if using ads)
PHASE 12: BLOCKCHAIN FEATURES (8 hours) - AETHEX UNIQUE
12.1 Identity Integration
-
Connect .aethex Domain (2 hours)
- Show .aethex domain on profile
- Verify domain ownership
- Link blockchain wallet
- Display on member card
- Files: Add blockchainService.js
-
Wallet Integration (1.5 hours)
- Connect wallet button
- Show connected wallet
- Verify ownership
- Use for login (Web3 auth)
- Files: Add walletService.js
12.2 Trinity Division UI
-
Division Badges (1 hour)
- Show Trinity division on members
- Filter by division
- Division-specific channels
- Division color coding
- Files: Update MemberSidebar
-
Division Permissions (1.5 hours)
- Restrict channels by division
- Division-specific roles
- Division leadership
- Files: Add division-based ACL
12.3 Crypto Features
-
Token Gating (1.5 hours)
- Require token to view channel
- Verify wallet balance
- Dynamic channel access
- Files: Add tokenGating.js
-
NFT Roles (1.5 hours)
- NFT holders get special role
- Auto-assign role based on NFT
- Show NFT on profile
- Files: Add nftService.js
PHASE 13: PERFORMANCE & OPTIMIZATION (8 hours) - BACKEND WORK
13.1 Data Optimization
-
Message Pagination (1.5 hours)
- Load messages in batches
- Virtual scrolling for large lists
- Cache old messages
- Files: Update ChatArea
-
Member List Caching (1 hour)
- Cache member list
- Update on join/leave
- Quick search without API call
- Files: Update memberStore
-
Image Optimization (1 hour)
- Lazy load images
- Responsive images
- Image compression
- WebP format
- Files: Image service
13.2 Performance Metrics
-
Add Analytics (1.5 hours)
- Track page load time
- Track API response time
- Track message send time
- Send to monitoring service
- Files: Add analyticsService.js
-
Monitor Errors (1.5 hours)
- Capture client errors
- Send to error tracking (Sentry)
- Show error rate dashboard
- Files: Add errorTracking.js
-
Database Query Optimization (1 hour)
- Profile slow queries
- Add indexes where needed
- Implement query caching
- Backend work in Express
PHASE 14: TESTING & QA (8 hours)
14.1 Unit Tests
-
Test Stores (2 hours)
- Test Zustand stores
- Test state updates
- Test computed values
- Files: Add
.test.jsfiles
-
Test Components (2 hours)
- Test Message component
- Test ChatArea component
- Test modals
- Files: Add component tests
14.2 Integration Tests
-
Test Message Flow (2 hours)
- Send message end-to-end
- Edit message
- Delete message
- Files: Add integration tests
-
Test Auth Flow (1 hour)
- Login/logout
- Session persistence
- Token refresh
- Files: Add auth tests
14.3 User Testing
- QA Pass (1 hour)
- Manual testing checklist
- Bug documentation
- Performance testing
- Browser compatibility
PHASE 15: DEPLOYMENT & DOCS (6 hours)
15.1 Documentation
-
API Documentation (1.5 hours)
- Document all endpoints
- Document Socket.IO events
- Include examples
- Files: Create API docs
-
User Guide (1 hour)
- How to use features
- Keyboard shortcuts
- Tips & tricks
- Files: Create user guide
-
Developer Guide (1.5 hours)
- Setup instructions
- Architecture overview
- Contributing guidelines
- Files: Update README
15.2 Deployment
-
Environment Setup (1 hour)
- Production env vars
- Database backups
- CDN configuration
- Files: Deployment config
-
CI/CD Pipeline (1 hour)
- Auto-deploy on push
- Run tests
- Build optimization
- Files: GitHub Actions config
SUMMARY
Total Estimated Time: 145 hours
Breakdown by Phase:
- Phase 1-4: 45 hours (Messaging & Communities)
- Phase 5-8: 32 hours (Community & Engagement)
- Phase 9-10: 18 hours (Settings & Polish)
- Phase 11-12: 14 hours (Monetization & Blockchain)
- Phase 13-15: 22 hours (Performance & Deployment)
Critical Path (MVP):
- Phase 1: Messaging (15h)
- Phase 7: Backend Integration (15h)
- Phase 14: Testing (5h)
- 35 hours for MVP
Achievable in 1 sprint (2 weeks):
- Phase 1 + Phase 2 (27 hours) = Basic messaging platform
Competitive Differentiation:
- Phase 12 (Blockchain) = Unique value
- Phase 6 (Voice/Video) = Core Discord feature
- Phase 11 (Monetization) = Revenue model