마케팅 콘텐츠

홈 · 배너 · FAQ · 미리보기, 그리고 상담 신청 접수와 관리.

:8080
클래스
15
포트
2
interface
엔드포인트
11
화면
8
가드레일
22
critical 8

이 도메인의 자리

100%휠로 확대 · 끌어서 이동

이어진 곳

이 도메인이 쓰는 것 →

없다. 다른 도메인을 모른다.

← 이 도메인을 쓰는 곳

없다.

공용 모듈
common-appcommon-domaincommon-infrastructurecommon-securitycommon-utilscommon-web

다루는 테이블

원본 대응 main/* · admin/banner/* · admin/board/ap_*

타입 구조 (15)

Spring 소스를 직접 읽어 그린다. 계층 사이 화살표만 그렸다 — 타입 하나하나를 이으면 읽을 수 없다. 파란 테두리가 포트(interface)다.

100%휠로 확대 · 끌어서 이동
app 2domain 8infrastructure 2web 3

포트 (2) — 도메인이 바깥에 요구하는 것

도메인은 DB 도 HTTP 도 모른다. 필요한 것을 인터페이스로 선언하고, infrastructure 가 그것을 구현한다. 의존이 뒤집히는 지점이다.

이름하는 일메서드
ApplyRepository
domain
상담·문의 신청 조회.
MarketingRepository
domain
-

도메인 모델 (6)

ApplyEntry
record
상담·문의 신청 한 건.
ApplyType
enum
상담·문의 신청 종류.
Banner
record
홈 배너 · SNS 링크.
CounselingHistory
class
상담 이력.
FaqItem
record
FAQ.
PreviewVideo
record
과정 소개의 유닛별 미리보기 영상.

유스케이스 (2)

AdminApplyUseCase
103
상담신청 관리.
PageResult()search()detail()toggle()assign()history()addHistory()
MarketingUseCase
43
마케팅 콘텐츠 조회.
previewVideos()faqs()home()Home()

엔드포인트 (11)

100%휠로 확대 · 끌어서 이동
메서드경로컨트롤러
GET/api/marketing/admin/applies관리자AdminApplyController
GET/api/marketing/admin/applies/{id}관리자AdminApplyController
POST/api/marketing/admin/applies/{id}/flags관리자AdminApplyController
POST/api/marketing/admin/applies/{id}/counseling관리자AdminApplyController
GET/api/marketing/admin/applies/{id}/history관리자AdminApplyController
POST/api/marketing/admin/applies/{id}/history관리자AdminApplyController
GET/api/marketing/admin/banners관리자AdminContentController
GET/api/marketing/admin/sns관리자AdminContentController
GET/api/marketing/courses/{course}/preview-videosMarketingController
GET/api/marketing/faqsMarketingController
GET/api/marketing/homeMarketingController

화면 흐름 (6개 화면)

이 도메인이 받는 화면끼리의 이동입니다. 다른 도메인으로 나가는 이동까지 함께 보려면 화면 흐름 → 마케팅 콘텐츠 으로 갑니다.

100%휠로 확대 · 끌어서 이동

이 도메인을 쓰는 화면 (8)

critical 가드레일 (8)

  • home-loads-without-login
    비로그인 상태에서 홈이 정상적으로 떠야 한다.
  • legal-text-matches-origin
    본문이 원본 PHP 의 <pre> 안 평문과 한 글자도 다르지 않아야 한다.
  • legal-links-alive
    동의를 받는 화면의 약관 링크가 살아 있어야 한다.
  • privacy-text-matches-origin
    본문이 원본 personalData.php 와 한 글자도 다르지 않아야 한다.
  • counseling-history-requires-admin
    상담 이력은 관리자만 보고 쓸 수 있어야 한다.
  • counseling-history-server-side-merge
    지난 이력은 서버가 읽어 이어 붙여야 한다. 화면이 보낸 본문을 그대로 쓰면 안 된다.
  • apply-flag-whitelist
    허용 목록(complete · absence · sms) 밖의 이름은 거부해야 한다.
  • apply-requires-admin
    신청자의 연락처와 문의 내용이 들어 있어 관리자만 볼 수 있어야 한다.