Skip to content

Latest commit

 

History

History
127 lines (90 loc) · 3.75 KB

File metadata and controls

127 lines (90 loc) · 3.75 KB

랭킹 시스템 설계 문서

📋 개요

과제 완료율과 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% 미만

등급별 특징

  • 🏆 마스터: 모든 과제에서 우수한 성과를 보이는 최상위 학습자
  • 💎 다이아몬드: 대부분의 과제에서 뛰어난 성과를 보이는 상위권 학습자
  • 🥇 골드: 여러 과제에서 우수한 성과를 보이는 중상위권 학습자
  • 🥈 실버: 일부 과제에서 우수한 성과를 보이는 중위권 학습자
  • 🥉 브론즈: 꾸준한 참여와 기본적인 성과를 보이는 중하위권 학습자
  • 📚 학습자: 학습 과정에 참여하고 있는 하위권 학습자
  • 🌱 초보자: 학습을 시작한 단계의 학습자

등급 결정 기준

  • 총점 기준: 계산된 총점을 최대 점수로 나누어 백분율 계산
  • 등급 할당: 백분율에 따라 해당 등급 부여
  • 동점 처리: 동일한 백분율일 경우 더 높은 등급 부여

🎨 UX 고려사항

1. 공정성

  • 성실한 참여도 적절히 인정 (완료율 기준 등급 부여)
  • BP 횟수도 중요하지만 균형잡힌 가중치
  • 완료율 80% 이상이면 브론즈 이상 등급 가능
  • 과제 개수에 관계없이 비율 기반으로 공정한 평가

2. 동기부여

  • BP 횟수가 많으면 확실히 상위권 진입
  • 꾸준한 참여도 고려
  • BP 도전을 장려하면서도 기본 참여도 인정

3. 투명성

  • 사용자가 자신의 점수가 어떻게 계산되는지 이해 가능
  • 명확한 등급 기준 제시 (점수 기반)
  • 실시간 랭킹 업데이트
  • 과제 개수 변경 시에도 일관된 평가 기준 유지

📊 구현 우선순위

  1. 1단계: 기본 랭킹 계산 로직 구현
  2. 2단계: 홈페이지 랭킹 섹션 추가
  3. 3단계: 사용자 상세 페이지 랭킹 정보 표시
  4. 4단계: 정렬 기능 구현
  5. 5단계: 등급별 시각적 요소 추가

🎯 기대 효과

  • 수강생들의 학습 동기부여 증대
  • BP 선정의 의미와 가치 강화
  • 공정하고 투명한 평가 시스템 구축
  • 학습 성과의 시각적 피드백 제공
  • 과제 개수 변경에 유연하게 대응 가능한 시스템
  • 점수 기반 평가로 확장성과 일관성 확보