배너 관리

BANNERS · /banners

실제 화면 열기 ↗
종류
목록
부르는 것
1
lib 함수
가드레일
2
64
로그인 필요운영

화면

관리자 세션으로 촬영한 실제 화면입니다.

BANNERS 캡처

이 화면이 부르는 것

  • ·listBanners()
소스 src/app/(console)/banners/page.tsx

같은 규칙을 쓰는 화면

목록 · 작성 · 수정이 한 묶음입니다. 스펙을 세 벌로 적으면 어긋납니다.

개발 스펙

ADMIN-CONTENT완료이 스펙은 4개 화면이 함께 씁니다

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

  • 배너 65건을 위치별로 본다.
  • TESOL · TEC 커리큘럼 구성을 본다.
  • 레벨테스트 시험지와 응시 건수를 본다.

비즈니스 규칙 (4)

  • 배너 목록은 타입을 가리지 않는다. 실데이터에 타입이 10종 넘어 하나를 기본값으로 고르면 나머지가 안 보인다.
  • 유닛과 문항은 편집이 없다. 원본에도 목록·보기뿐이다 — 과정 개편 때나 바뀌는 값이라 DB 를 직접 고쳤다.
  • 레벨테스트 문항 수는 q1~q20 이 평탄화돼 있어 values 로 펼쳐 센다.
  • 관리자 유닛 조회는 수강권을 보지 않는다. 모든 과정을 봐야 한다.

API (3)

메서드경로권한모듈 · 설명
GET/api/marketing/admin/banners관리자
배너 전체. type 을 주면 그것만.
domains:marketing:marketing-web
GET/api/learning/admin/courses/{course}/units관리자
유닛과 강의. 수강권을 보지 않는다.
domains:learning:learning-web
GET/api/assessment/admin/level-tests관리자
시험지 목록. 문항 수와 응시 건수 포함.
domains:assessment:assessment-web

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

id반드시 만족해야 하는 것등급
banner-list-all-types
배너 목록이 타입 하나로 걸러지면 안 된다. 전체가 보여야 한다.
실데이터에 타입이 10종 넘는다.
normal
admin-content-requires-admin
세 조회 모두 관리자만 볼 수 있어야 한다.
high

구현 계획 (4/4)

  1. MarketingRepository.banners 재사용marketing-web
  2. CurriculumRepository.unitsOf 재사용learning-web
  3. LevelTestRepository.findAllPapers 추가assessment-domain
  4. 조회 화면 4개wvctesol-admin

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

객체모듈책임 · 지켜야 할 것
LevelTestRepository.Paper
record
assessment-domain
시험지 요약.
  • 문항 전체를 읽지 않는다 — 목록에는 개수만 필요하다.
  • q1~q20 중 채워진 것만 센다.

테스트 방법 (2)

가드레일종류확인 방법
banner-list-all-typesintegrationGET /banners → 65건 전부
admin-content-requires-admine2e비로그인 → 403, 화면은 /login 리다이렉트

정하지 못한 것 · 확인이 필요한 것

  • 배너 등록·수정은 파일 업로드 인프라가 필요하다. 경로만 받아 저장하면 깨진 이미지가 등록된다.