📖 Adit 서비스 가이드에 오신 것을 환영합니다!
system
알림 시스템

Adit 캠페인 알림 시스템 기획서

Version: 1.0.0
Last Updated: 2026-01-27
Domain: adit.now
Status: Draft


1. Executive Summary

캠페인 라이프사이클 전반에 걸쳐 광고주, 파트너, 내부 운영팀 3자에게 실시간 알림을 제공하는 통합 알림 시스템.

채널

  • 이메일 (AWS SES) - ✅ 기존 인프라 활용 (src/utils/email.ts)
  • 카카오 알림톡 (인포뱅크 비즈플러스) - 발신 프로필 보유
  • 슬랙봇 (내부 운영팀) - @adit_set 정산팀 멘션

기존 인프라 현황

영역현황위치
이메일 발송✅ AWS SES + Nodemailer 구현됨src/utils/email.ts
템플릿 렌더링{{variable}} 치환 구현됨src/utils/email.ts
템플릿 파일1개 존재 (partner-welcome)src/templates/email/
알림톡🆕 신규 구현 필요-
슬랙봇🆕 신규 구현 필요-

핵심 원칙

  • 수신자별 맞춤 템플릿 (같은 이벤트, 다른 메시지)
  • Adit 브랜드 아이덴티티 일관성 유지
  • 원클릭 서비스 진입 (Deep Link + CTA)

2. 브랜드 가이드라인

2.1 컬러 팔레트

용도컬러HEX사용처
PrimaryGray 900#0F172A버튼, 제목, 강조
BackgroundWhite#FFFFFF메일 배경
Secondary BGGray 50#F9FAFB섹션 구분
BorderGray 200#E5E7EB구분선, 테두리
Text PrimaryGray 900#0F172A본문 텍스트
Text SecondaryGray 600#4B5563부가 정보
SuccessGreen 500#10B981완료, 성공
WarningAmber 500#F59E0B주의
ErrorRed 500#EF4444취소, 오류

2.2 타이포그래피

font-family: "Pretendard", -apple-system, BlinkMacSystemFont, system-ui, 
             "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;
letter-spacing: -0.01em;
용도크기Weight
제목 (Hero)24px700 (Bold)
소제목18px600 (SemiBold)
본문16px400 (Regular)
캡션14px400 (Regular)

3. 수신자별 알림 전략

3.1 수신자 정의

수신자설명이메일알림톡슬랙
광고주 (Advertiser)캠페인 등록한 광고주 담당자-
파트너 (Partner)채널 담당자-
내부 운영팀 (Internal)Adit 운영/정산팀-

3.2 이벤트별 수신자 & 메시지 톤

이벤트광고주 메시지 톤파트너 메시지 톤내부 메시지 톤
PENDING"캠페인이 등록되었습니다""새로운 캠페인 요청이 들어왔습니다""신규 캠페인 검토 필요"
CONFIRMED"🎉 캠페인이 확정되었습니다!""캠페인이 확정되었습니다""캠페인 확정 완료"
UPLOADED"콘텐츠가 업로드되었습니다""업로드 완료! 정산이 곧 진행됩니다""⚠️ 정산 처리 필요"
COMPLETED"정산이 완료되었습니다""💰 정산이 완료되었습니다!""캠페인 종료"

4. 이메일 템플릿

4.1 이벤트별 이메일 제목

이벤트광고주 제목파트너 제목
PENDING[Adit] 캠페인이 등록되었습니다[Adit] 새로운 캠페인 요청이 도착했습니다
CONFIRMED[Adit] 🎉 캠페인이 확정되었습니다[Adit] 캠페인 확정 - 일정을 확인해주세요
UPLOADED[Adit] 콘텐츠가 업로드되었습니다[Adit] ✅ 업로드 완료 - 정산 예정
COMPLETED[Adit] 캠페인이 완료되었습니다[Adit] 💰 정산이 완료되었습니다

4.2 템플릿 변수

{
  "subject": "[Adit] 🎉 캠페인이 확정되었습니다",
  "heroTitle": "캠페인이 확정되었습니다!",
  "heroDescription": "요청하신 캠페인이 확정되었습니다.",
  "campaignName": "2월 발렌타인 프로모션",
  "channelName": "맛있는녀석들",
  "uploadDate": "2026년 2월 10일",
  "statusLabel": "확정됨",
  "estimatedCost": "₩1,500,000",
  "ctaText": "캠페인 상세 보기",
  "ctaUrl": "https://adit.now/campaigns/xxx"
}

5. 카카오 알림톡

⚠️

카카오 알림톡은 템플릿 사전 승인 필요 (7-10일 소요)

5.1 광고주용 템플릿

ADIT_ADV_CONFIRMED (캠페인 확정)

[Adit] 캠페인 확정 안내

안녕하세요, #{advertiserName}님

🎉 요청하신 캠페인이 확정되었습니다!

■ 캠페인명: #{campaignName}
■ 채널: #{channelName}
■ 업로드 예정일: #{uploadDate}
■ 확정 비용: #{confirmedCost}원

[캠페인 상세보기]

5.2 파트너용 템플릿

ADIT_PTN_SETTLED (정산 완료)

[Adit] 정산 완료 안내

안녕하세요, #{partnerName}님

💰 정산이 완료되었습니다!

■ 캠페인명: #{campaignName}
■ 정산 금액: #{settlementAmount}원
■ 입금 예정일: #{depositDate}

[정산 내역 확인]

6. 슬랙봇

6.1 채널 구조

#adit-campaigns        ← 모든 캠페인 알림 (메인)
#adit-settlements      ← 정산 관련 알림 (선택적)
#adit-alerts           ← 긴급 알림, 이슈 (선택적)

6.2 멘션 그룹

그룹슬랙 핸들용도
정산팀@adit_set정산 처리 필요 시 태그
운영팀@adit_ops캠페인 검토/확정 시

6.3 상태별 이모지

상태이모지색상
PENDING🟡amber
CONFIRMED🟢green
IN_PROGRESS🔵blue
UPLOADEDgreen
COMPLETED💰green
CANCELLED🔴red

6.4 슬래시 커맨드

커맨드설명
/adit search [키워드]캠페인 검색
/adit summary오늘의 캠페인 현황
/adit pending대기 중인 캠페인 목록
/adit settlement정산 대기 캠페인

7. 기술 아키텍처

7.1 시스템 구조

7.2 핵심 설계 패턴

패턴적용 위치효과
Strategy PatternProvider 선택새 채널 추가 시 기존 코드 수정 없음
Template Method템플릿 렌더링수신자별 템플릿 확장 용이
Observer Pattern이벤트 발행캠페인 서비스와 느슨한 결합
Factory PatternProvider 생성런타임 채널 선택

7.3 폴더 구조

src/modules/notification/
├── notification.module.ts           # 메인 모듈
├── notification.service.ts          # 오케스트레이션 서비스
├── interfaces/                      # 인터페이스 정의
├── constants/                       # 상수 & 설정
├── providers/                       # 채널별 Provider
│   ├── email/
│   ├── kakao/
│   └── slack/
├── templates/                       # 템플릿 시스템
├── events/                          # 이벤트 핸들러
└── repositories/                    # 데이터 접근

8. 구현 로드맵

Week 1: ████████████████████████ Phase 1 (기반 인프라)
Week 2: ████████ Phase 2 (이메일)  ████████ Phase 3 (알림톡)  ████████ Phase 4 (슬랙)
Week 3: ████████ Phase 2 (이메일)  ████████ Phase 3 (알림톡)  ████████ Phase 4 (슬랙)
Week 4: ████████████████████████ Phase 5 (통합 & 고도화)

Phase 1: 기반 인프라 (1주차)

태스크설명
1.1NotificationModule 생성
1.2DB 스키마 마이그레이션
1.3NotificationService 기본 구조
1.4이벤트 시스템 설계 (EventEmitter)
1.5NotificationLog CRUD

9. 성공 지표 (KPI)

지표목표측정 방법
이메일 발송 성공률> 99%NotificationLog 집계
알림톡 발송 성공률> 95%NotificationLog 집계
이메일 오픈율> 40%SES 트래킹
CTA 클릭률> 15%UTM 파라미터
평균 응답 시간 (확정)< 2시간슬랙 타임스탬프

10. 참고 링크