Skip to content

feat: add community posts backend#68

Merged
Typogalaxy merged 13 commits into
developfrom
feature/community-posts
May 21, 2026
Merged

feat: add community posts backend#68
Typogalaxy merged 13 commits into
developfrom
feature/community-posts

Conversation

@Arcadi4
Copy link
Copy Markdown
Contributor

@Arcadi4 Arcadi4 commented May 11, 2026

Summary

  • Add a standalone posts backend app for community posts.
  • Support authenticated post creation, reading, editing, and soft deletion with author-owned write permissions.
  • Integrate community posts into the shared content-target system so they can receive comments, reactions, and content reports.
  • Add markdown mention support for community posts with rendered mention output and current username resolution.

Backend

  • Add the CommunityPost model, admin, serializers, services, permissions, routes, migrations, and tests.
  • Register the posts app in backend settings, API routing, backend docs, and CI lint scope.
  • Expose post read fields for content interactions, including:
    • content_target
    • render_body
    • mentions
    • mention_users
    • comment_count
    • like_count
    • dislike_count
    • my_reaction

Content Targets

  • Extend ContentTarget with a COMMUNITY_POST target type and a strong one-to-one link to CommunityPost.
  • Eagerly create content targets for published articles, comments, and community posts through shared core signals.
  • Keep content-target helpers idempotent for service and API workflows.

Comments And Reactions

  • Allow comments to be created and filtered directly by community_post.
  • Return the related community post id from comment responses when applicable.
  • Allow reactions to be created and cleared directly for community posts.
  • Add community post reaction and comment summary query support.

Mentions And Reports

  • Reuse the shared markdown mention validation and rendering utilities for community post bodies.
  • Store ordered mention user ids on community posts and return resolved mention users in read responses.
  • Extend content report snapshots to preserve community post bodies, rendered mentions, mention ids, author ids, and deletion state.

Tests

  • Cover community post models, serializers, services, permissions, and API behavior.
  • Cover community post mentions, content-target creation, comment integration, reaction integration, and report snapshots.
  • Cover eager content-target creation when targetable models are created directly through the ORM.

Closes #64

@Arcadi4 Arcadi4 requested a review from Typogalaxy as a code owner May 11, 2026 04:03
@github-actions github-actions Bot added feature This asks for a new feature or enhancement. backend This changes files in app/backend/. .github This modifies files in .github/. release A new project release. labels May 11, 2026
@Typogalaxy Typogalaxy changed the base branch from main to develop May 11, 2026 09:41
@Typogalaxy Typogalaxy removed the release A new project release. label May 11, 2026
@Arcadi4 Arcadi4 deleted the branch develop May 13, 2026 09:20
@Arcadi4 Arcadi4 closed this May 13, 2026
@Arcadi4 Arcadi4 reopened this May 13, 2026
@Arcadi4 Arcadi4 force-pushed the feature/community-posts branch from 0499bcb to dda3da9 Compare May 13, 2026 11:26
@Arcadi4 Arcadi4 closed this May 13, 2026
@Arcadi4 Arcadi4 deleted the feature/community-posts branch May 13, 2026 11:26
@Arcadi4 Arcadi4 restored the feature/community-posts branch May 13, 2026 11:27
@Arcadi4 Arcadi4 reopened this May 13, 2026
@Arcadi4 Arcadi4 force-pushed the feature/community-posts branch from 819040f to 82cdf16 Compare May 13, 2026 11:53
@Arcadi4 Arcadi4 enabled auto-merge (rebase) May 13, 2026 11:55
@Typogalaxy Typogalaxy disabled auto-merge May 21, 2026 12:30
@Typogalaxy Typogalaxy force-pushed the feature/community-posts branch from 5418dea to e517d4c Compare May 21, 2026 12:37
@Typogalaxy Typogalaxy merged commit 77d5753 into develop May 21, 2026
8 checks passed
@Typogalaxy Typogalaxy deleted the feature/community-posts branch May 21, 2026 12:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backend This changes files in app/backend/. feature This asks for a new feature or enhancement. .github This modifies files in .github/.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature] Community Post

2 participants