개발/🦉 뀨업

🦉 뀨업 - 이화 백준 사이트 리팩토링 ( 1 )

정소은 2024. 9. 1. 00:34

 

 

 

사실 리팩토링하고 있는 플젝이 하나 더 있답

저번 학기(3-1)에 들었던 데이터베이스 수업에서 JDBC 프로그래밍을 배우고 팀플을 진행했었는데

팀원들 몇명이랑(은채랑 희원이) 배포를 목표로 리팩토링을 하기로 했당

팀명은 찐뀨엘ㅎㅎ

 

 

우선 진행하고자 하는 '뀨업'이 무슨 서비스냐 하면은 이화여대 백준 문제 풀이 고취를 위한 서비스다

백준은 회원가입할 때 조직을 선택할 수 있는데 이 조직별로 푼 문제 수를 기준으로 순위를 매긴다

이때 푼 문제 수는 같은 조직 내 회원이 겹치지 않고 푼 문제 수를 기반으로 올라간다

즉, 이화여대를 조직으로 둔 회원 A와 B가 있다고 할 때

A가 푼 문제 - 1번, 2번, 3번, 4번

B가 푼 문제 - 2번, 4번, 5번, 6번

이라고 할 때

이화여대가 푼 문제는 1번, 2번, 3번, 4번, 5번, 6번으로 총 6문제로 책정되는 것이다

 

따라서 백준 문제 중에서 이화여대 조직원이 풀지 않은 문제를 이 서비스를 통해 보여줘서

이화여대의 백준 순위를 높이는 것이 뀨업의 목표닷

 

 

❗참고한 서비스 : 카이스트 백준 프로그램 'KaiJoon'❗

https://kaijoon.net

 

KaiJoon

백준 프로필에 학교 정보를 추가했음에도 티어가 반영되지 않는다면, solved.ac 프로필에서 KAIST가 소속 학교로 등록되어 있는지 확인해주세요! 만약 등록되어 있지 않다면, solved.ac 프로필 하단에

kaijoon.net

 

이걸 위해서는 백준 문제들과 이화여대 조직원들이 푼 문제 정보를 주르륵 크롤링해와야 하는데

솔브닥의 비공식 API 문서를 사용했다

 

 

크롤링 작전

조직을 '이화여자대학교'로 설정한 회원들이 푼 문제를 모두 긁어오고 이를 set(집합)에 넣는다
백준의 전체 문제에서 이화여대생들이 푼 문제 집합을 제외한다

 

 

우선 팀플에서 요구한 조건들을 맞추기 위해서 끼워넣었던 기능들은 제외하고 필요한 기능만을 간단하게 정리했다

뀨업 기능 정리

✅ 뀨업의 메인페이지에 이화여대생이 풀지 않은 문제 중 골드, 실버, 브론즈 5문제씩 '오늘의 추천 문제'로 띄운다
✅ 이화여대생이 풀지 않은 문제들을 티어별, 카테고리별로 띄운다

 

 

사실 뀨업 리팩토링은 기능 삭제에 의한 ERD 수정과 크롤링 및 데이터베이스 적용 자동화, 오늘의 문제 업데이트 자동화, 프론트엔드 작업, 배포만 하면 된다

목표는 9월까지 배포!!

파이팅하장💖