TEC 강의실

CLASS-TEC-ONLINE · /my-class/tec-online

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

개발 스펙

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

  • TESOL 강의실과 같되 TEC 커리큘럼(14 모듈 · 56 레슨)을 본다.

비즈니스 규칙 (2)

  • 재응시가 A · B 두 차수뿐이라 Quiz 칸도 그에 맞춰 그린다.
  • 오픈 판정은 TEC 전용 컬럼을 본다.

API (1)

메서드경로권한모듈 · 설명
GET/api/learning/courses/TEC/curriculum수강생
TEC 커리큘럼.
domains:learning:learning-web

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

id반드시 만족해야 하는 것등급
classroom-tec-lesson-count
TEC 강의실의 레슨 수가 DB 와 같아야 한다(56).
high
classroom-tec-uses-tec-flags
TESOL 수강권만 있는 사용자에게 TEC 강의실이 열리면 안 된다.
critical

구현 계획 (5/5)

  1. CurriculumUnit · ScoreReport · StudentInfo · 포트 2개learning-domain
  2. LearningUseCase · CourseCataloglearning-app
  3. Curriculum · Learner 어댑터learning-infrastructure
  4. /api/learning/courses/TEC/curriculum 구현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)

가드레일종류확인 방법
classroom-tec-lesson-counte2eTEC 강의실 Video 버튼 수 = 56
classroom-tec-uses-tec-flagsunitpay_tec_yn=N 계정으로 TEC 강의실 접근 → 차단

스냅샷

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

CLASS-TEC-ONLINE 스냅샷

기능 목록 (7)

데이터
  • ·조회 조건notice
상태
  • ·화면 상태activeVideo
미디어
  • ·Vimeo 영상
인증
  • ·세션 확인
  • ·로그인 필요proxy 가 /login 으로 보냄
하드코딩
  • ·하드코딩 데이터videoColors
  • ·하드코딩 데이터tabs

화면 이동

← 이 화면으로 오는 곳
이 화면에서 가는 곳 →

연결

API

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

소스
src/app/my-class/tec-online/page.tsx