elmeg-demo/.specify/tasks/12_groups.md

896 B

Task: Groups / Communities

Objective

Implement a system for users to create and join groups (e.g., "NYC Phans", "Rail Riders"). Groups can have their own discussions and potentially private content.

Steps

  • Backend:
    • Create Group model (name, description, privacy_level, created_by).
    • Create GroupMember model (group_id, user_id, role, joined_at).
    • Create GroupPost model (group_id, user_id, content, created_at).
    • Create API Routers for Groups, Members, and Posts.
    • Generate and apply migrations.
  • Frontend:
    • Create GroupsListPage (browse/search groups).
    • Create GroupDetailPage (feed, members, join button).
    • Create CreateGroupDialog.
    • Create GroupPostForm.

Acceptance Criteria

  • Users can create a group.
  • Users can join a public group.
  • Group members can post to the group feed.