Enable users to form collaborative study groups and engage in threaded discussions around specific topics, questions, or interview experiences. This fosters community learning and resource sharing.
New Files to Create:
- backend/models/StudyGroup.js: Mongoose schema for study groups (name, description, members, createdBy).
- backend/models/DiscussionThread.js: Mongoose schema for discussion posts and replies within a study group.
- backend/controllers/studyGroupController.js: Business logic for group creation, joining, and thread management.
- backend/routes/studyGroupRoutes.js: API endpoints for study group and discussion operations.
- frontend/src/pages/StudyGroups/StudyGroupLobby.jsx: Dashboard to browse, create, and join study groups.
- frontend/src/components/DiscussionThread.jsx: Reusable component for rendering nested comments and replies.
Requirements:
- Implement role-based access (e.g., group admin can moderate threads).
- Ensure proper indexing on foreign keys for efficient querying.
- Maintain consistency with existing UI components like Cards and Buttons.
Enable users to form collaborative study groups and engage in threaded discussions around specific topics, questions, or interview experiences. This fosters community learning and resource sharing.
New Files to Create:
Requirements: