과제 완료율과 BP(Best Practice) 선정을 기준으로 한 수강생 랭킹 시스템을 구현합니다.
- 총 N개의 과제가 있음 (최대 10개)
- 모든 학생이 동일한 N개 과제를 수행
- 각 과제마다 우수과제학생(BP) 10명 내외로 선정
- 현재는 랭킹 시스템이 없는 상태
- 과제 합격률과 BP 선정을 기준으로 한 랭킹 시스템 구축
- 홈페이지와 사용자 상세 페이지에 랭킹 정보 표시
- 정렬 기능 (이름순/랭킹순) 제공
기본 점수:
- 과제 완료: 30점 (1개당)
- BP 횟수: 40점 (1회당)
완료율 보너스:
- 100% 완료 시: +100점
- 90% 이상 완료 시: +50점
- 80% 이상 완료 시: +25점
최대 점수 계산:
- 과제 N개 기준: (N × 30점) + (N × 40점) + 100점 = N × 70점 + 100점
예시 (10개 과제 기준):
- BP 3회 + 10개 완료 = (3×40) + (10×30) + 100 = 520점
- BP 0회 + 10개 완료 = (0×40) + (10×30) + 100 = 400점
- BP 7회 + 10개 완료 = (7×40) + (10×30) + 100 = 680점
예시 (8개 과제 기준):
- BP 2회 + 8개 완료 = (2×40) + (8×30) + 100 = 420점
- BP 0회 + 7개 완료 = (0×40) + (7×30) + 50 = 260점
🏆 마스터:
- 총점의 85% 이상
💎 다이아몬드:
- 총점의 70-84%
🥇 골드:
- 총점의 55-69%
🥈 실버:
- 총점의 40-54%
🥉 브론즈:
- 총점의 25-39%
📚 학습자:
- 총점의 10-24%
🌱 초보자:
- 총점의 10% 미만
- 🏆 마스터: 모든 과제에서 우수한 성과를 보이는 최상위 학습자
- 💎 다이아몬드: 대부분의 과제에서 뛰어난 성과를 보이는 상위권 학습자
- 🥇 골드: 여러 과제에서 우수한 성과를 보이는 중상위권 학습자
- 🥈 실버: 일부 과제에서 우수한 성과를 보이는 중위권 학습자
- 🥉 브론즈: 꾸준한 참여와 기본적인 성과를 보이는 중하위권 학습자
- 📚 학습자: 학습 과정에 참여하고 있는 하위권 학습자
- 🌱 초보자: 학습을 시작한 단계의 학습자
- 총점 기준: 계산된 총점을 최대 점수로 나누어 백분율 계산
- 등급 할당: 백분율에 따라 해당 등급 부여
- 동점 처리: 동일한 백분율일 경우 더 높은 등급 부여
- 성실한 참여도 적절히 인정 (완료율 기준 등급 부여)
- BP 횟수도 중요하지만 균형잡힌 가중치
- 완료율 80% 이상이면 브론즈 이상 등급 가능
- 과제 개수에 관계없이 비율 기반으로 공정한 평가
- BP 횟수가 많으면 확실히 상위권 진입
- 꾸준한 참여도 고려
- BP 도전을 장려하면서도 기본 참여도 인정
- 사용자가 자신의 점수가 어떻게 계산되는지 이해 가능
- 명확한 등급 기준 제시 (점수 기반)
- 실시간 랭킹 업데이트
- 과제 개수 변경 시에도 일관된 평가 기준 유지
- 1단계: 기본 랭킹 계산 로직 구현
- 2단계: 홈페이지 랭킹 섹션 추가
- 3단계: 사용자 상세 페이지 랭킹 정보 표시
- 4단계: 정렬 기능 구현
- 5단계: 등급별 시각적 요소 추가
- 수강생들의 학습 동기부여 증대
- BP 선정의 의미와 가치 강화
- 공정하고 투명한 평가 시스템 구축
- 학습 성과의 시각적 피드백 제공
- 과제 개수 변경에 유연하게 대응 가능한 시스템
- 점수 기반 평가로 확장성과 일관성 확보