-
Notifications
You must be signed in to change notification settings - Fork 15
feat(be): add course qna #3190
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
feat(be): add course qna #3190
Conversation
|
✅ Syncing Preview App Succeeded Application: |
|
✅ Syncing Preview App Succeeded Application: |
|
✅ Syncing Preview App Succeeded Application: |
|
✅ Syncing Preview App Succeeded Application: |
|
✅ Syncing Preview App Succeeded Application: |
|
✅ Syncing Preview App Succeeded Application: |
RyuRaseul
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
QnA Comment는 수정 기능 없나여?
RyuRaseul
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
JSDoc을 추가하면 좋을 것 같은데 이거까지 할 시간 없으면 머지 후에 신입부원 태스크로 할당해도 될 듯 머지가 언제 되느냐에 따라 달라질 것 같아요
|
✅ Syncing Preview App Succeeded Application: |
|
✅ Syncing Preview App Succeeded Application: |
…n-existent entries
|
✅ Syncing Preview App Succeeded Application: |
구현하는게 좋을 것 같아서 했어용. |
|
✅ Syncing Preview App Succeeded Application: |
|
✅ Syncing Preview App Succeeded Application: |
|
✅ Syncing Preview App Succeeded Application: |
|
✅ Syncing Preview App Succeeded Application: |
ㄴㄴ 내가 했음 완료! |
|
✅ Syncing Preview App Succeeded Application: |
Description
Additional context
✅ 주요 기능 및 구현 사항
데이터베이스 (schema.prisma)
CourseQnA 및 CourseQnAComment 테이블 스키마를 추가했음.
Q&A는 Group(Course) 및 Problem 모델과 관계를 맺도록 설정했음.
isPrivate: 비밀글 여부를 저장하는 필드를 추가했음.
readBy: 사용자별 읽음/안 읽음 상태를 추적하기 위한 필드를 추가했음.
Client API (/api/course/:groupId/qna)
POST /: 새로운 질문을 생성함.
problemId를 쿼리 파라미터로 받아 특정 문제에 대한 질문으로 태그할 수 있음.
isPrivate 옵션을 통해 비밀글 설정이 가능함.
GET /: Q&A 목록을 필터링하여 조회함.
기획서의 요구사항인 주차(week), 답변 여부(isAnswered), 카테고리(categories) 등으로 필터링이 가능하도록 구현할 예정임.
GET /:order: 특정 질문의 상세 내용을 댓글과 함께 조회함.
비밀글의 경우 작성자와 교수/조교만 접근할 수 있음.
POST /:order/comment: 특정 질문에 댓글을 작성함.
DELETE /:order: 질문을 삭제함. (작성자 및 교수/조교만 가능)
DELETE /:qnaOrder/comment/:commentOrder: 댓글을 삭제함. (작성자 및 교수/조교만 가능)
Admin API (GraphQL)
교수 및 관리자가 강의 Q&A를 관리할 수 있도록 아래의 Query 및 Mutation을 추가할 예정임.
getCourseQnAs, getCourseQnA
createCourseQnAComment
deleteCourseQnA, deleteCourseQnAComment
TAS-1992
Before submitting the PR, please make sure you do the following
fixes #123).