Configure Feed
Select the types of activity you want to include in your feed.
Configure Feed
Select the types of activity you want to include in your feed.
Forum Platform Domain Knowledge#
This document serves as the central reference for domain-specific knowledge about our forum platform. It should be maintained and updated as the platform evolves.
Overview#
Our forum platform is a federated discussion system that combines traditional forum features with modern federation protocols (atproto and ActivityPub). The platform emphasizes user control, community autonomy, and cross-platform interoperability.
Core Concepts#
Feed System#
Home Feed#
The home feed provides a personalized experience for each user based on their preferences and subscriptions.
UI:
- UI will be a tiktok style scrollable feed but left to right
Key Features:
- User-specific: Each user sees a unique feed based on their subscriptions
- Community subscription slider: Users can adjust content visibility per community (1-5 scale)
- 1 = Only show the best/most popular content from this community
- 5 = Show all content from this community
- Read state tracking: Already read posts are automatically hidden from the feed
- Requires
isReadflag in the lexicon - Users can access read posts through a dedicated history tab
- Store read history in PostgreSQL AppView, NOT in CAR files
- This data never enters the user's repository
- Only accessible through authenticated private endpoints
- Requires
All Feed#
A global feed showing content from across the entire platform.
Key Features:
- Displays all public content from all communities
- Respects read state (hides already-read posts)
- Provides discovery mechanism for new communities and content
Community Feed#
A community feed showing content from a single community.
Key Features:
- Incorporates typical forum feed features such as hot, top (month, day, year), new
Communities#
Communities are the primary organizational unit for content and discussions.
Core Features#
- Creation: Users can create new communities
- Blocking: Users can block communities from appearing in their feeds
- Wiki: Each community maintains its own wiki for documentation
- Subscriptions: Users can subscribe/unsubscribe to communities
- NSFW Toggle: Communities can be marked as NSFW with appropriate filtering
Reputation System#
- User reputation: Gained through community interaction such as creating posts, comments, positive tags
- Member access levels: Reputation affects user privileges
- Comment ordering: Higher reputation may influence comment visibility
- Voting: Voting is more impactful for reputable community members
Rules System#
Communities can enable specific rules to shape content and behavior:
- Rule voting: Community rules are enabled through democratic votes
- Post type restrictions: e.g., "Text Only" communities
- Website blocklists: Prevent specific domains from being shared
- Geolocation restrictions: Limit posting to users in specific locations
Bots and Plugins#
- RSS feed poster: Automatically post content from RSS feeds
- Game thread bots: Automated creation of sports/gaming discussion threads
- Additional open source plugin system for community-specific automation
Moderation Models#
Sortition-Based Moderation#
A democratic approach to content moderation:
- Tag-based removal: Content hidden when enough users tag it as inappropriate, is flagged for tribunal review
- Tribunal system: Posts/accounts that have been tagged go through tribunal review
- Minimum reputation required to serve
Traditional Moderation#
- Moderator hierarchy: Standard moderator-based enforcement
- Community override: Users can still vote to remove moderators
- Hybrid approach: Even moderator-led communities incorporate user feedback
Flairs#
- Support for post/user flairs (implementation details TBD)
Federation#
Our platform supports bidirectional federation with major protocols.
atproto (Bluesky) Integration#
- Post display: Show Bluesky posts inline with native content
- Backend implementation: Posts stored as references to Bluesky records
- Future roadmap: Comment federation planned (posts-only for initial release)
ActivityPub Integration#
Full two-way compatibility with ActivityPub networks:
- Instance mapping: All AP instances converted to "Hubs"
- Community mapping: AP communities mapped to Coves communities
- User identity: AP users assigned atproto DIDs
- Action translation: Bidirectional conversion between AP actions and Coves lexicon
Posts#
Post Types#
- Text: Traditional text-based discussions
- Video: Video content with discussion threads
- Image: Image posts with comments
- Article: Long-form content/blog posts
- Microblog: Explicitly created for bsky posts
Post Features#
- Voting: Upvote system
- Tagging system: Posts can be tagged (helpful, spam, hostile, etc.)
- Share tracking: Monitor post sharing/distribution
- Comment threads: Each post owns its comment thread
- Federation indicators: Display source platform (Lemmy, Bluesky, Mbin, etc.)
Users#
Identity and Authentication#
- Phone verification: Required for account creation for Coves users (grants verified status)
- Identity system: Uses atproto DID (Decentralized Identifier) system
- Federation: Each user belongs to a federated platform (Bluesky, Lemmy, etc.)
Username System#
- Random generation: When not provided, usernames follow patterns:
- "Adjective Noun" (e.g., "BraveEagle")
- "Adjective Adjective Noun" (e.g., "SmallQuietMouse")
User Features#
- Blocking: Users can block other users
- Offline sync: Basic framework for offline functionality
- Notification control: Mute notifications from own posts
- Save posts: Bookmark posts for later reference
- Post history: View all previously seen posts
Future Enhancements#
- Comment federation for Bluesky
- Possibly Mastadon integration
- Extended plugin system for communities
- Edit/History for comments/posts/wiki
- Enhanced offline capabilities
- Incognito browsing
- Disables browsing history
- Read state not stored on device
- Community forking process (Theoretically built in via DID's)
Last updated: [Date] Version: 1.0