Skip to content

feat(be): create plagiarism check api#2952

Merged
hj060809 merged 83 commits intomainfrom
t1909-create-plagiarism-check-api
Nov 5, 2025
Merged

feat(be): create plagiarism check api#2952
hj060809 merged 83 commits intomainfrom
t1909-create-plagiarism-check-api

Conversation

@RyuRaseul
Copy link
Copy Markdown
Contributor

@RyuRaseul RyuRaseul commented Aug 7, 2025

Description

표절 검사를 위한 서버, 큐, 버킷, 모듈을 추가했습니다.

환경설정

  • JDK21 버전이 필요합니다.

  • dev container 리빌드 시 자동으로 jdk21이 적용되도록 변경했습니다.

변경 사항

  • admin단에 check 모듈을 추가합니다.
  • 4개의 API를 추가합니다.
    • 특정 문제의 submissions에 대해 표절 검사를 수행하고 결과를 저장합니다.
    • 유사한 제출물 상위 N개 목록을 반환합니다.
    • 표절이 의심되는 그룹(클러스터) 정보를 반환합니다.
    • 표절이 의심되는 학생 쌍을 선택하면 그에 관한 상세 정보를 반환합니다.
      • 파일, 의심되는 라인 넘버 등
  • Prisma에 표절 검사 관련 테이블을 추가합니다.
    • CheckRequest
      • 표절 검사 요청을 기록합니다.
    • CheckResult
      • 표절 검사 결과를 기록합니다.
      • 제출물 쌍의 비교 검사 결과를 기록합니다.
    • PlagiarismCluster
      • 표절이 강하게 의심되는 제출물 집단을 기록합니다.
    • SubmissionCluster
      • 클러스터와 제출물을 다대다 관계로 연결합니다.
  • S3에 표절 검사 결과 파일이 저장됩니다.
    • 버킷도 추가됩니다.
  • RabbitMQ에 표절 검사 요청 관련 큐를 추가합니다.
  • 표절 검사를 위한 Iris 서버가 추가됩니다. (apps/plag)

Additional context


Before submitting the PR, please make sure you do the following

hj060809 and others added 30 commits July 23, 2025 09:17
@hj060809
Copy link
Copy Markdown
Contributor

hj060809 commented Nov 2, 2025

저번에 학재 형이 알려줬던 것 같은데, 그거 보는 법이 있나요...?

@RyuRaseul
Copy link
Copy Markdown
Contributor Author

저번에 학재 형이 알려줬던 것 같은데, 그거 보는 법이 있나요...?

아니면 스테이지에 문제 만들 때 생기능 페이로드랑 브루노에 있는 형식 비교해도 ㄱㅊ을지도?

@skkuding-bot
Copy link
Copy Markdown

skkuding-bot Bot commented Nov 2, 2025

Syncing Preview App Succeeded

Application: frontend
Revision: cc42daa1fd884c2efaaec8e6a342dc38643a4354
Health Status: Healthy

Open Preview | View in Argo CD

@RyuRaseul
Copy link
Copy Markdown
Contributor Author

올 확인햐보겠슝

@hj060809
Copy link
Copy Markdown
Contributor

hj060809 commented Nov 2, 2025

저번에 학재 형이 알려줬던 것 같은데, 그거 보는 법이 있나요...?

아니면 스테이지에 문제 만들 때 생기능 페이로드랑 브루노에 있는 형식 비교해도 ㄱㅊ을지도?

확인했습니다! 일단 추가로 unmarshal을 쓰는 방향으로 고쳐봤는데.... 바뀐게 딱히 없는 느낌... 제대로 작동할지 확신이 안섭니다

@skkuding-bot
Copy link
Copy Markdown

skkuding-bot Bot commented Nov 4, 2025

Syncing Preview App Succeeded

Application: frontend
Revision: 7f0d32253baa671e936eabc9bab9f740ca9c21fb
Health Status: Healthy

Open Preview | View in Argo CD

Comment thread apps/plag/src/loader/postgres.go
@skkuding-bot
Copy link
Copy Markdown

skkuding-bot Bot commented Nov 5, 2025

Syncing Preview App Succeeded

Application: frontend
Revision: 96275a834ed65ffa548565a7e9bb622970825281
Health Status: Healthy

Open Preview | View in Argo CD

@skkuding-bot
Copy link
Copy Markdown

skkuding-bot Bot commented Nov 5, 2025

Syncing Preview App Succeeded

Application: frontend
Revision: dad7f5a679c5c577ab65e73e721b851493900e49
Health Status: Healthy

Open Preview | View in Argo CD

@skkuding-bot
Copy link
Copy Markdown

skkuding-bot Bot commented Nov 5, 2025

Syncing Preview App Succeeded

Application: frontend
Revision: e836e53221443d6a24b6219912645fcd14f69504
Health Status: Healthy

Open Preview | View in Argo CD

@RyuRaseul RyuRaseul requested a review from hj060809 November 5, 2025 11:18
Copy link
Copy Markdown
Contributor

@hj060809 hj060809 left a comment

Choose a reason for hiding this comment

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

내꺼지만 LGTM

@hj060809 hj060809 added this pull request to the merge queue Nov 5, 2025
Merged via the queue into main with commit e78e53f Nov 5, 2025
10 checks passed
@hj060809 hj060809 deleted the t1909-create-plagiarism-check-api branch November 5, 2025 11:26
w0uldy0u added a commit that referenced this pull request Nov 5, 2025
@w0uldy0u w0uldy0u restored the t1909-create-plagiarism-check-api branch November 5, 2025 12:52
github-merge-queue Bot pushed a commit that referenced this pull request Nov 5, 2025
@skkuding-bot
Copy link
Copy Markdown

skkuding-bot Bot commented Nov 5, 2025

Syncing Preview App Succeeded

Application: frontend
Revision: e836e53221443d6a24b6219912645fcd14f69504
Health Status: Healthy

Open Preview | View in Argo CD

github-merge-queue Bot pushed a commit that referenced this pull request Nov 9, 2025
 (#3265)

### Description

<!-- Please insert your description here and provide especially info
about the "what" this PR is solving -->

#2952

해당 PR에서 문제가 된 RabbitMQ 관련 문제를 해결

### Additional context

<!-- e.g. is there anything you'd like reviewers to focus on? -->

---

### Before submitting the PR, please make sure you do the following

- [ ] Read the [Contributing
Guidelines](https://github.com/skkuding/next/blob/main/CONTRIBUTING.md)
- [ ] Read the [Contributing
Guidelines](https://github.com/skkuding/next/blob/main/CONTRIBUTING.md#pr-and-branch)
and follow the [Commit
Convention](https://github.com/skkuding/next/blob/main/CONTRIBUTING.md#commit-convention)
- [ ] Provide a description in this PR that addresses **what** the PR is
solving, or reference the issue that it solves (e.g. `fixes #123`).
- [ ] Ideally, include relevant tests that fail without this PR but pass
with it.

---------

Co-authored-by: hj060809 <hjbanf89@gmail.com>
Co-authored-by: hj060809 <55198983+hj060809@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backlog 🌙 We will go through this later 💡 feature-admin Features for admin & group manager p3-need-now 🧩 Priority 3: 중요한 기능 🌊 squad-__init__

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants