AeThex-Connect/FEATURES-ROADMAP.md

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

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.js files
  • 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