TEC 성적표

CLASS-TEC-RESULT-OF-COURSE · /my-class/tec-result-of-course

실제 화면 열기 ↗
기능
3
API 호출
0
가드레일
2
id 가 테스트 이름
구현 단계
5 / 5
완료수강 · 커리큘럼wvctesol-api :8080로그인 필요서버 컴포넌트16

개발 스펙

이 화면에서 할 수 있어야 하는 것 (1)

  • 모듈별 점수와 평균을 본다.

비즈니스 규칙 (2)

  • 점수 선택은 B → A 순서로 70점 이상인 첫 값.
    근거: resultOfCourseTec.php:103~110
  • 행 라벨이 "Module N." 이다(TESOL 은 "Unit N").
    근거: resultOfCourseTec.php:116

API (1)

메서드경로권한모듈 · 설명
GET/api/learning/courses/TEC/score-report수강생
TEC 성적표.
domains:learning:learning-web

가드레일 (2) — id 가 곧 테스트 이름이다

id반드시 만족해야 하는 것등급
score-tec-label-module
TEC 성적표 행 라벨이 Module 이어야 한다.
normal
score-tec-14-rows
TEC 성적표는 14행이어야 한다.
high

구현 계획 (5/5)

  1. CurriculumUnit · ScoreReport · StudentInfo · 포트 2개learning-domain
  2. LearningUseCase · CourseCataloglearning-app
  3. Curriculum · Learner 어댑터learning-infrastructure
  4. /api/learning/courses/TEC/score-report 구현learning-web
  5. Next.js 를 BFF 로 전환 — Prisma 직접 접근 제거wvctesol

서버 사이드 구현 계획 — 자바 객체별 요구사항 (5/5)

객체모듈책임 · 지켜야 할 것
ScoreReport
record
learning-domain
성적표 계산. 원본 resultOfCourse.php:99~143.
  • 평균의 분모는 합격 유닛 수다. 전체 유닛 수로 나누면 안 된다.
  • 통과한 유닛에서 가장 나중 차수부터 거슬러 올라가 70점 이상인 첫 점수를 쓴다(C→B→A).
  • 합격 유닛이 0 이면 0 을 돌려준다 — 0 으로 나누지 않는다.
  • BigDecimal 로 소수점 2자리를 만든다. double 은 표시가 흔들린다.
CourseCatalog
class
learning-app
과정별 상수(유닛 수 · 차수 순서 · 시험 유무).
  • 원본이 _Env.php 와 _exam*.php 에 흩어 두었던 값을 한곳에 모은다.
  • PHONICS·TEACHING 은 hasExam=false — 이 과정에는 시험이 없다.
LearningUseCase
service
learning-app
커리큘럼 · 성적표 · 학생정보 조회.
  • 모든 조회가 수강권 확인을 먼저 한다. 과정마다 보는 플래그가 다르다.
  • memberId 는 토큰에서만 온다 — 파라미터로 받으면 남의 성적표를 볼 수 있다.
CurriculumRepositoryAdapter
class
learning-infrastructure
unit · lesson 조회.
  • unit · lesson 이 정본이다. 화면에 배열로 두면 DB 와 어긋난다(UNIT2 레슨 누락 버그의 원인).
  • left join 이라 레슨이 없는 유닛도 목록에 남는다.
LearnerRepositoryAdapter
class
learning-infrastructure
수강 자격 · 성적 · 학생정보 조회.
  • 과정별로 컬럼을 통째로 갈아 끼운다 — TESOL 은 pass_yn/certi_yn/entrance, TEC 은 *_tec_yn.
  • 스캔본 노출은 조건이 하나 더 붙는다: 결제+준비완료 **+ 사이버승인 + 합격**.
  • 합격일은 pass_date 앞 8자리를 YYYY-MM-DD 로 자른다.

테스트 방법 (2)

가드레일종류확인 방법
score-tec-label-modulee2eTEC 성적표 첫 행 라벨이 "Module 1." 로 시작
score-tec-14-rowse2eTEC 성적표 데이터 행이 14개

스냅샷

로그인 세션으로 촬영한 실제 화면입니다.

CLASS-TEC-RESULT-OF-COURSE 스냅샷

기능 목록 (3)

인증
  • ·세션 확인
  • ·로그인 필요proxy 가 /login 으로 보냄
하드코딩
  • ·하드코딩 데이터tabs

화면 이동

← 이 화면으로 오는 곳

없음

이 화면에서 가는 곳 →

연결

API

직접 호출하는 API 가 없습니다

소스
src/app/my-class/tec-result-of-course/page.tsx