기능
12
API 호출
0
가드레일
2
id 가 테스트 이름
구현 단계
5 / 5
완료마케팅 콘텐츠wvctesol-api :8080서버 컴포넌트34

개발 스펙

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

  • 과정 소개 · 배너 · 최신 게시글 · 후기를 한 화면에서 본다.
  • 수강신청 · 레벨테스트로 이동한다.

비즈니스 규칙 (2)

  • 배너는 banner 테이블, SNS 링크는 sns 테이블에 있다.
  • 최신 게시글 영역은 공지 · 합격수기 · 후기를 섞어 보여준다.

API (1)

메서드경로권한모듈 · 설명
GET/api/marketing/home공개
홈 구성 데이터(배너 · 최신글 · 대표 후기).
domains:marketing:marketing-web

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

id반드시 만족해야 하는 것등급
home-loads-without-login
비로그인 상태에서 홈이 정상적으로 떠야 한다.
critical
home-no-legacy-host-assets
이미지·링크가 원본 사이트(wvctesol.com)를 가리키면 안 된다. 이관 대상이다.
/flow 의 외부 링크 12건이 아직 원본을 가리킨다.
normal

구현 계획 (5/5)

  1. Product · ProductRepositorycatalog-domain
  2. CatalogUseCasecatalog-app
  3. ProductRepositoryAdaptercatalog-infrastructure
  4. /api/marketing/home 구현marketing-web
  5. Next.js 를 BFF 로 전환 — Prisma 직접 접근 제거wvctesol

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

객체모듈책임 · 지켜야 할 것
MarketingRepositoryAdapter
class
marketing-infrastructure
미리보기 영상 · FAQ · 배너 조회.
  • faq.show 값이 소문자 'y' 다. upper() 로 맞춰야 한다.
  • FAQ 분류(cate)는 숫자와 문자열이 섞여 있다 — 문자열로 그대로 받는다.
  • banner 와 sns 는 비슷하지만 같지 않다. sns 에는 subtitle 이 없어 빈 값으로 채운다.
  • 테이블 이름은 메서드 안에서만 정해진다. 바깥 값이 SQL 식별자가 되지 않는다.
MarketingUseCase
service
marketing-app
마케팅 콘텐츠 조회.
  • 전부 비로그인으로 볼 수 있어야 한다 — 토큰을 요구하면 소개 화면이 막힌다.

테스트 방법 (2)

가드레일종류확인 방법
home-loads-without-logine2e쿠키 없이 / 요청 → 200, 콘솔 에러 없음
home-no-legacy-host-assetse2e홈 HTML 에 wvctesol.com 을 가리키는 src/href 가 없음

스냅샷

HOME 스냅샷

기능 목록 (12)

입력
  • ·1개
  • ·제출 버튼1개
  • ·입력 필드12개
액션
  • ·서버 액션applyForLevelTest
상태
  • ·화면 상태currentSlide, isPaused, currentIndex, formData
미디어
  • ·YouTube 영상
하드코딩
  • ·하드코딩 데이터slides
  • ·하드코딩 데이터reviews
  • ·하드코딩 데이터posts
  • ·하드코딩 데이터qaList
  • ·하드코딩 데이터noticeList
  • ·하드코딩 데이터answers

화면 이동

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

연결

API

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

소스
src/app/page.tsx