프로젝트 내용
<aside>
💡 백준 알고리즘 풀이 사이트를 표방한 교내 대회추진용 플랫폼
</aside>
충북대학교 SW중심대학사업단 Online Judge
GIT 링크
GitHub - cbnusw/cbnu_judger_dev
⚠️기본적인 문제 채점기능은 백준과 유사합니다.
- 싱글 쓰레드인
NodeJS
의 단점을 보완하기 위해 API서버를 pm2
로 🎶여러 프로세스로 실행합니다.
- 채점은 비교적 ⏳소요시간이 길기 때문에
kafka
💬메세징을 이용하여 별도의 kafka
컨슈머 코드가 포함된 ✏️채점 클라이언트에서 진행합니다.
- 채점 완료→ 채점 클라이언트에서 API서버의 해당 토픽의 파티션에 💬메세지 전송 → API서버 💯스코어보드 등록완료
❗제공 서비스
- 대회 작성기능
- 📆신청기간과 대회진행기간, 제목과 세부내용을 포함하여 대회를 게시
- 🧑🎓학생이 로그인하여 해당 대회에 참가 신청
- 문제 작성기능
- 📆대회진행기간 전, 해당 대회에 문제를 추가
- 💾테스트 케이스 파일 셋과 문제내용이 포함된 📜PDF를 업로드
- 코드 제출기능
- 참가자는 대회진행기간동안 문제에 대하여 코드 제출
- 제출된 코드는 위 과정에 따라 채점됩니다.
참여 작업
⚠️ 과제 CRUD를 위한 API 추가 및 종속성을 가진 스키마 구조 변경
프로젝트 구조 분석 및 해결과정
❓과제 기능 추가를 위해 현재 스키마의 구조와 API를 분석합니다.