홈
HOME · /
기능
12
API 호출
0
가드레일
2
id 가 테스트 이름
구현 단계
5 / 5
개발 스펙
이 화면에서 할 수 있어야 하는 것 (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)
- ●Product · ProductRepository
catalog-domain - ●CatalogUseCase
catalog-app - ●ProductRepositoryAdapter
catalog-infrastructure - ●/api/marketing/home 구현
marketing-web - ●Next.js 를 BFF 로 전환 — Prisma 직접 접근 제거
wvctesol
서버 사이드 구현 계획 — 자바 객체별 요구사항 (2/2)
| 객체 | 모듈 | 책임 · 지켜야 할 것 |
|---|---|---|
● MarketingRepositoryAdapterclass | marketing-infrastructure | 미리보기 영상 · FAQ · 배너 조회.
|
● MarketingUseCaseservice | marketing-app | 마케팅 콘텐츠 조회.
|
테스트 방법 (2)
| 가드레일 | 종류 | 확인 방법 |
|---|---|---|
home-loads-without-login | e2e | 쿠키 없이 / 요청 → 200, 콘솔 에러 없음 |
home-no-legacy-host-assets | e2e | 홈 HTML 에 wvctesol.com 을 가리키는 src/href 가 없음 |
스냅샷

기능 목록 (12)
입력
- ·폼
1개 - ·제출 버튼
1개 - ·입력 필드
12개
액션
- ·서버 액션
applyForLevelTest
상태
- ·화면 상태
currentSlide, isPaused, currentIndex, formData
미디어
- ·YouTube 영상
하드코딩
- ·하드코딩 데이터
slides - ·하드코딩 데이터
reviews - ·하드코딩 데이터
posts - ·하드코딩 데이터
qaList - ·하드코딩 데이터
noticeList - ·하드코딩 데이터
answers
화면 이동
← 이 화면으로 오는 곳
AUTH-FIND-ID/find-idAUTH-FIND-PW/find-pwAUTH-FIND-PW-RESET/find-pw/resetAUTH-JOIN/joinAUTH-LOGIN/loginPROD-ORDER-DETAIL/products/order/[orderNo]PROD-TEC/products/tecPROD-TESOL/products/tesolPROD-TESOL-TEC/products/tesol-tecTESOL-LEVEL-TEST-RESULT/tesol-lab/level-test/resultGNB
이 화면에서 가는 곳 →
QNA-QA-LIST/qna/qa-listNOTICE/noticeTESOL-LEVEL-TEST-EXAM/tesol-lab/level-test/examTESOL-LEVEL-TEST-RESULT/tesol-lab/level-test/result
연결
API
직접 호출하는 API 가 없습니다
소스
src/app/page.tsx