Skip to content

Conversation

@Choi-Jung-Hyeon
Copy link
Contributor

@Choi-Jung-Hyeon Choi-Jung-Hyeon commented Sep 24, 2025

Description

  • Course 페이지에 종속되는 Q&A 기능 백엔드를 구현했음.
  • 기획서 요구사항에 따라, 사용자는 질문과 댓글을 작성할 수 있으며 교수자는 이를 관리할 수 있도록 구현할 예정임.
  • 기존 Contest Q&A 기능의 구조를 참고하여 CourseQnA와 CourseQnAComment 데이터 모델을 새롭게 정의했음.

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

@skkuding-bot
Copy link

skkuding-bot bot commented Sep 24, 2025

Syncing Preview App Succeeded

Application: frontend
Revision: 6fbbb606b84e7de05f66eb1135348243294eac83
Health Status: Healthy

Open Preview | View in Argo CD

@skkuding-bot
Copy link

skkuding-bot bot commented Sep 24, 2025

Syncing Preview App Succeeded

Application: frontend
Revision: 7dd169719c9c8658379570875facb9626fe85af0
Health Status: Healthy

Open Preview | View in Argo CD

@skkuding-bot
Copy link

skkuding-bot bot commented Sep 24, 2025

Syncing Preview App Succeeded

Application: frontend
Revision: b35b2c356acfc32cc689af2641cd390fc0701a2a
Health Status: Healthy

Open Preview | View in Argo CD

@skkuding-bot
Copy link

skkuding-bot bot commented Sep 24, 2025

Syncing Preview App Succeeded

Application: frontend
Revision: a45f5e147626e452626e5e7d4487962c328cdff2
Health Status: Healthy

Open Preview | View in Argo CD

@skkuding-bot
Copy link

skkuding-bot bot commented Sep 24, 2025

Syncing Preview App Succeeded

Application: frontend
Revision: 5665dc3837cafa5fe01600278da573e5095c6244
Health Status: Healthy

Open Preview | View in Argo CD

@skkuding-bot
Copy link

skkuding-bot bot commented Sep 24, 2025

Syncing Preview App Succeeded

Application: frontend
Revision: 93926311ac0cb020090a89e1152659dea1722abc
Health Status: Healthy

Open Preview | View in Argo CD

Copy link
Contributor

@RyuRaseul RyuRaseul left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

QnA Comment는 수정 기능 없나여?

Copy link
Contributor

@RyuRaseul RyuRaseul left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

JSDoc을 추가하면 좋을 것 같은데 이거까지 할 시간 없으면 머지 후에 신입부원 태스크로 할당해도 될 듯 머지가 언제 되느냐에 따라 달라질 것 같아요

@skkuding-bot
Copy link

skkuding-bot bot commented Jan 15, 2026

Syncing Preview App Succeeded

Application: frontend
Revision: 84e3d7ed6d1f4f22a49598f60fecd559b3445edf
Health Status: Healthy

Open Preview | View in Argo CD

@skkuding-bot
Copy link

skkuding-bot bot commented Jan 15, 2026

Syncing Preview App Succeeded

Application: frontend
Revision: a354d442aa434484295a7a9f91793c68cd584fcd
Health Status: Healthy

Open Preview | View in Argo CD

@skkuding-bot
Copy link

skkuding-bot bot commented Jan 15, 2026

Syncing Preview App Succeeded

Application: frontend
Revision: d97a028e93ed0e41a193ff831082308fd05644bd
Health Status: Healthy

Open Preview | View in Argo CD

@Choi-Jung-Hyeon
Copy link
Contributor Author

QnA Comment는 수정 기능 없나여?

구현하는게 좋을 것 같아서 했어용.

@skkuding-bot
Copy link

skkuding-bot bot commented Jan 15, 2026

Syncing Preview App Succeeded

Application: frontend
Revision: b8c1b522feef53b05842afac53f2ea747335fd6b
Health Status: Healthy

Open Preview | View in Argo CD

@skkuding-bot
Copy link

skkuding-bot bot commented Jan 15, 2026

Syncing Preview App Succeeded

Application: frontend
Revision: 4947f6437b8fd6e3754dfc4e4d37b123da5f3ad3
Health Status: Healthy

Open Preview | View in Argo CD

@skkuding-bot
Copy link

skkuding-bot bot commented Jan 15, 2026

Syncing Preview App Succeeded

Application: frontend
Revision: 4362f0e4f3eed78e60310a0e20d1d4d4430e2920
Health Status: Healthy

Open Preview | View in Argo CD

@skkuding-bot
Copy link

skkuding-bot bot commented Jan 15, 2026

Syncing Preview App Succeeded

Application: frontend
Revision: 14d834cf8815d1e9e80864d22528deacee4a8e32
Health Status: Healthy

Open Preview | View in Argo CD

@Choi-Jung-Hyeon
Copy link
Contributor Author

JSDoc을 추가하면 좋을 것 같은데 이거까지 할 시간 없으면 머지 후에 신입부원 태스크로 할당해도 될 듯 머지가 언제 되느냐에 따라 달라질 것 같아요

ㄴㄴ 내가 했음 완료!

@skkuding-bot
Copy link

skkuding-bot bot commented Jan 15, 2026

Syncing Preview App Succeeded

Application: frontend
Revision: 8a9da562dd0d300d2b351f6bdf38c782e05c62c9
Health Status: Healthy

Open Preview | View in Argo CD

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: In Progress 🏃

Development

Successfully merging this pull request may close these issues.

5 participants