25 lines
896 B
Markdown
25 lines
896 B
Markdown
# 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
|
|
|
|
- [x] **Backend**:
|
|
- [x] Create `Group` model (name, description, privacy_level, created_by).
|
|
- [x] Create `GroupMember` model (group_id, user_id, role, joined_at).
|
|
- [x] Create `GroupPost` model (group_id, user_id, content, created_at).
|
|
- [x] Create API Routers for Groups, Members, and Posts.
|
|
- [x] Generate and apply migrations.
|
|
- [x] **Frontend**:
|
|
- [x] Create `GroupsListPage` (browse/search groups).
|
|
- [x] Create `GroupDetailPage` (feed, members, join button).
|
|
- [x] Create `CreateGroupDialog`.
|
|
- [x] Create `GroupPostForm`.
|
|
|
|
## Acceptance Criteria
|
|
|
|
- Users can create a group.
|
|
- Users can join a public group.
|
|
- Group members can post to the group feed.
|