Skip to content

feat: Topics, Custom Feeds, and General Reporting System - #857

Draft
MrPunyapal wants to merge 2 commits into
pinkary-project:mainfrom
MrPunyapal:feat/new-feed-system
Draft

feat: Topics, Custom Feeds, and General Reporting System#857
MrPunyapal wants to merge 2 commits into
pinkary-project:mainfrom
MrPunyapal:feat/new-feed-system

Conversation

@MrPunyapal

Copy link
Copy Markdown
Collaborator

Description

This PR introduces a structured content classification and discovery architecture:

1. Topics System

  • Topic Model & Migrations: Introduced \Topic\ with fields for slug, description, discovery status, and system topic distinction.
  • Single-Topic Classification: Top-level posts require a topic (\ opic_id\ foreign key on questions).
  • On-the-fly Topic Creation: Authors can dynamically select or create topics with instantaneous slugification.
  • Topic Feeds & Discovery: Explore discoverable topics with search filtering, follower tracking, and trending/recent sorting.

2. Custom Feeds System

  • Custom Feeds: Users can compose custom feeds bundling multiple topics and people.
  • Visibility Controls: Support for \public\ and \private\ visibility.
  • Following Feeds: Users can follow and explore community-curated feeds.

3. General Reporting & Moderation

  • General Report Modal: Unified reporting system supporting spam, harassment, inappropriate content, and wrong topic categories.
  • Consensus Auto-Reclassification: Automated consensus logic reclassifies post topics if multiple reports agree on the suggested topic.

4. Backfill Command

  • **\pinkary:backfill-post-topics**: Artisan command to backfill existing posts into appropriate topics using hashtag matching and keyword inference with fallback to system topics.

Verification

  • Full test coverage across Models, Livewire components, Policies, and HTTP routes.
  • Formatted with Laravel Pint.

@MrPunyapal
MrPunyapal marked this pull request as draft August 17, 2026 15:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant