맑은노티 현황판 (정본)
목적: 현황판(
/board)이 표시하는 모든 내용(전체 진행률·단계별 진행률·전 단계 세부 작업)을 담는 정본 문서.doc/WBS.md와 동일하게 현황판 전체를 반영한다. 데이터 출처:malgn-noti-apiGET /wbs(R2wbs/wbs.json). 현황판과 동일 소스. 현황판 데이터 기준: 2026-06-04 · 문서 현행화: 2026-06-05 상태 범례: ✅ 완료 · 🟡 진행 중 · ⚪ 대기 · ⛔ 보류
진행률 스냅샷
- 전체 진행률(가중평균): 47.5% —
0.10×55 + 0.15×55 + 0.20×35 + 0.10×20 + 0.45×55/ 100 - 작업 합계: 155건 — ✅ 63 · 🟡 25 · ⚪ 67
| 단계 | 가중치 | 진행률 | 작업 수 | 요약 |
|---|---|---|---|---|
| Step 1 · 프로젝트 준비 | 10% | 55% | 18건 | R&R · 사업 기획 · 계약서 초안 · 커뮤니케이션 · 환경 셋팅 |
| Step 2 · 주요 서비스 정책 이슈 정리 | 15% | 55% | 22건 | 프로토타입 · 회원/결제/계약 · 메시지 채널 · 캠페인 · 주소록 정책 |
| Step 3 · 서비스 기획 (화면설계) | 20% | 35% | 21건 | Front 프로토타입 대체 + BackOffice 1·2차 화면 명세 |
| Step 4 · 디자인 / 퍼블리싱 | 10% | 20% | 2건 | 디자인 스타일 가이드 + 퍼블리싱 MD (개발 측 DESIGN.md + /guide 카탈로그로 대체 운영 중) |
| Step 5 · 서비스 개발 | 45% | 55% | 92건 | 6/4 §1~§5 + NHN OAuth 어댑터·Email 활성화·이메일 변경 라우트: UI 거의 완료 · API 약 72%(13 done) · 화면↔API 연동 약 40%(10 done) · 관리자단 핸드오프 17 페이지(화면만 ✅, API 연동 후속) · 통합·배포 Hyperdrive Tunnel + Email real |
단계별 상세
🎯 Step 1 · 프로젝트 준비 step-1
- 비중 10% · 진행 55% · 18건
- R&R · 사업 기획 · 계약서 초안 · 커뮤니케이션 · 환경 셋팅
R&R · 사업 기획 (3)
| ID | 작업 | 상태 | 담당 | 목표 | 완료 |
|---|---|---|---|---|---|
| 1-1-1 | 작업 R&R 분배 — 메모 확인 | ✅ 완료 | 김덕조 | 2026.05.08 | 2026.05.08 |
| 1-1-2 | 경쟁 서비스 가격 분석 — 경쟁사 단가표 | ✅ 완료 | 컨설팅팀 | — | — |
| 1-1-3 | 당사 원가 확인 및 가격 정책 결정 (단가) — 기본 단가 책정(할인률 정책) · MMS 이미지 3장까지 비용설계 · 단가표(기획안) | 🟡 진행 중 | 컨설팅팀 | — | — |
사업 준비 (4)
| ID | 작업 | 상태 | 담당 | 목표 | 완료 |
|---|---|---|---|---|---|
| 1-2-1 | 특수 유형의 메시징 사업자 신청 — 프로젝트 추진 중간평가 이후 | ⚪ 대기 | 컨설팅팀 | — | — |
| 1-2-2 | 통신판매사업자 신청 — 중간평가 이후 | ⚪ 대기 | 컨설팅팀 | — | — |
| 1-2-3 | 자본 Up 방안 — 중간평가 이후 | ⚪ 대기 | — | — | — |
| 1-2-4 | 관련 계약서 작성 — 가입신청서·이용약관·개인정보처리방침·요금신고내역 초안 / 1차 검토 완료 → 2차 수정본 / 전무님 검토 필요 | 🟡 진행 중 | 컨설팅팀 | — | — |
커뮤니케이션 (3)
| ID | 작업 | 상태 | 담당 | 목표 | 완료 |
|---|---|---|---|---|---|
| 1-3-1 | 그룹 텔레그램 개설 — 맑은메시지 TF | ✅ 완료 | 김도형 | 2026.05.08 | 2026.05.08 |
| 1-3-2 | 화면설계 · 피그마 정본 — 피그마 | ✅ 완료 | 김경은 | 2026.05.11 | 2026.05.11 |
| 1-3-3 | 문서 공유 폴더 — 프로젝트 폴더 | ⚪ 대기 | 김덕조 | — | — |
서비스 메타 (3)
| ID | 작업 | 상태 | 담당 | 목표 | 완료 |
|---|---|---|---|---|---|
| 1-4-1 | 서비스 도메인 결정 | ⚪ 대기 | 김덕조 | — | — |
| 1-4-2 | 브랜딩 (맑은메시지 외 아이데이션) | ⚪ 대기 | 김덕조 | — | — |
| 1-4-3 | 마케팅 기획 — 기존 고객군 & 메시징 only 고객군 | ⚪ 대기 | 안병훈 | — | — |
환경 셋팅 (5)
| ID | 작업 | 상태 | 담당 | 목표 | 완료 |
|---|---|---|---|---|---|
| 1-5-1 | 커뮤니케이션 문서 폴더 운영 — 폴더 셋팅 | ✅ 완료 | 김덕조 | 2026.05.08 | 2026.05.08 |
| 1-5-2 | GitHub(malgnsoft) · Cloudflare 셋팅 — 3 레포 + Pages 2 + Workers 1 | ✅ 완료 | 김도형 | 2026.05.11 | 2026.05.11 |
| 1-5-3 | 사용자단 | ✅ 완료 | 김도형 | 2026.05.11 | 2026.05.11 |
| 1-5-4 | 관리자단 | ✅ 완료 | 김도형 | 2026.05.11 | 2026.05.11 |
| 1-5-5 | API 서버 | ✅ 완료 | 김도형 | 2026.05.11 | 2026.05.11 |
📐 Step 2 · 주요 서비스 정책 이슈 정리 step-2
- 비중 15% · 진행 55% · 22건
- 프로토타입 · 회원/결제/계약 · 메시지 채널 · 캠페인 · 주소록 정책
프로토타입 · 문서 (5)
| ID | 작업 | 상태 | 담당 | 목표 | 완료 |
|---|---|---|---|---|---|
| 2-1-1 | Front 프로토타입 — IA 정본(263 페이지) | 🟡 진행 중 | 김덕조 | — | — |
| 2-1-2 | Front 메뉴 및 스펙 | ⚪ 대기 | — | — | — |
| 2-1-3 | Front 페이지 리스트 | ⚪ 대기 | 김덕조 | — | — |
| 2-1-4 | BackOffice 프로토타입 — 만들지 말지 결정 | ⚪ 대기 | 김경은 | — | — |
| 2-1-5 | BackOffice 메뉴 및 스펙 | ⚪ 대기 | — | — | — |
주요 서비스 참조 (2)
| ID | 작업 | 상태 | 담당 | 목표 | 완료 |
|---|---|---|---|---|---|
| 2-2-1 | NHN Cloud Notification 서비스 — 통합 대상 | ⚪ 대기 | — | — | — |
| 2-2-2 | 비즈 뿌리오 서비스 — 참조 | ⚪ 대기 | — | — | — |
캠페인 (1)
| ID | 작업 | 상태 | 담당 | 목표 | 완료 |
|---|---|---|---|---|---|
| 2-3-1 | 벤치마킹 조사 — 솔라피(CRM 결합) + 개별 문자 발송 | ⚪ 대기 | 안병훈 | — | — |
회원·결제·계약 (6)
| ID | 작업 | 상태 | 담당 | 목표 | 완료 |
|---|---|---|---|---|---|
| 2-4-1 | 회원가입·판매방식 — 후불 정산 / 개인 회원 추가 — 법인·개인사업자·개인 3유형 / 카드 충전식 vs 후불 결제 / 계약관리에 지급이행보증보험 첨부 | 🟡 진행 중 | 김덕조 | 2026.05.12 | 2026.05.12 |
| 2-4-2 | 회원 구조 — 멀티 계정 (주·보조) — 법인·개인사업자만 멀티계정 탭 노출, 개인은 미노출 | 🟡 진행 중 | 김덕조 | 2026.05.12 | 2026.05.12 |
| 2-4-3 | 결제 — 자동충전 — 향후 재논의 | ⚪ 대기 | 김덕조 | — | — |
| 2-4-4 | 결제내역 — 결제 페이지 추가 | ⚪ 대기 | 김덕조 | — | — |
| 2-4-5 | 결제 — 후불 결제 고려 — 내부로직 -크레딧 / 후불시 사용 크레딧 / 다음 결제일 | ⚪ 대기 | 김덕조 | — | — |
| 2-4-6 | 계약관리 정책 — 법인·개인사업자 온라인 계약 + BackOffice 승인 / 개인은 즉시 사용 | ⚪ 대기 | — | — | — |
메시지 채널 정책 (5)
| ID | 작업 | 상태 | 담당 | 목표 | 완료 |
|---|---|---|---|---|---|
| 2-5-1 | AI 문장 다듬기 기능 — 발송창(알림톡 제외) AI검토 / 문자·RCS·이메일 적용 | 🟡 진행 중 | 김덕조 | 2026.05.12 | 2026.05.12 |
| 2-5-2 | 광고용 선택 시 수신거부 전화번호 이슈 — 맨 마지막에 입력창 분리 / 재확인 후 설계 | ⚪ 대기 | 김덕조 | — | — |
| 2-5-3 | 순차발송 — 알림톡 미수신시 SMS/LMS 폴백 / 복합(플로우) Default 알림톡→SMS→이메일 | 🟡 진행 중 | 김덕조 | 2026.05.12 | 2026.05.12 |
| 2-5-4 | 랜딩페이지 만들기 추가 — 기본형·확장형 화면 추가 | 🟡 진행 중 | 김덕조 | 2026.05.12 | 2026.05.12 |
| 2-5-5 | 발신번호 관리에 휴대폰번호 추가 — 유선(증명서) + 휴대폰(본인인증 PASS) | 🟡 진행 중 | 김덕조 | 2026.05.12 | 2026.05.12 |
캠페인 · 주소록 · 브랜드 (3)
| ID | 작업 | 상태 | 담당 | 목표 | 완료 |
|---|---|---|---|---|---|
| 2-6-1 | 캠페인 관리 — AB 테스트 기능 — 캠페인 관리 기능 최종 정의 후 | ⚪ 대기 | 김덕조 | — | — |
| 2-6-2 | 주소록 — CRM 기능 확대 — 단건 발송 레이어 팝업 / 연락처·그룹 채널 바로가기 / CRM 예제 화면 수집 | 🟡 진행 중 | 김덕조 | 2026.05.12 | 2026.05.12 |
| 2-6-3 | 브랜드 네임 | ⚪ 대기 | 안병훈 외 전체 | — | — |
📋 Step 3 · 서비스 기획 (화면설계) step-3
- 비중 20% · 진행 35% · 21건
- Front 프로토타입 대체 + BackOffice 1·2차 화면 명세
Front (3)
| ID | 작업 | 상태 | 담당 | 목표 | 완료 |
|---|---|---|---|---|---|
| 3-1-1 | 프로토타입으로 대체 | 🟡 진행 중 | 김덕조·김경은 | — | — |
| 3-1-2 | 서비스 메뉴 콘텐츠 | ⚪ 대기 | 컨설팅팀·김경은 | — | — |
| 3-1-3 | 운영가이드 — 사용자단 /help 라이브 — 컨텐츠 보강 필요 | ⚪ 대기 | 김덕조·김경은 | — | — |
BackOffice 1차 (10)
| ID | 작업 | 상태 | 담당 | 목표 | 완료 |
|---|---|---|---|---|---|
| 3-2-1 | 공통 · 로그인 · 계정 관리 | 🟡 진행 중 | 김경은 | 2026.05.22 | — |
| 3-2-2 | 회원 · 고객사 관리 — 회원 발송 이력 / 결제 상세 / 환불신청 제외 | 🟡 진행 중 | 김경은 | 2026.05.22 | — |
| 3-2-3 | 시스템 관리 — 운영자 계정 / RBAC / 감사 로그 | 🟡 진행 중 | 김경은 | 2026.05.22 | — |
| 3-2-4 | 요금 · 단가 관리 | 🟡 진행 중 | 김경은 | 2026.05.29 | — |
| 3-2-5 | 고객지원 — 운영 가이드 관리 제외 | 🟡 진행 중 | 김경은 | 2026.05.29 | — |
| 3-2-6 | 발송 운영 모니터링 — 캠페인 제외 | ⚪ 대기 | 김경은 | 2026.06.12 | — |
| 3-2-7 | 발신 정보 검수 | ⚪ 대기 | 김경은 | 2026.06.12 | — |
| 3-2-8 | 결제 · 크레딧 관리 + 고객사 상세 결제 탭 | ⚪ 대기 | 김경은 | 2026.06.19 | — |
| 3-2-9 | 템플릿 검수 · 관리 — 샘플·AI 템플릿 정책 제외 | ⚪ 대기 | 김경은 | 2026.06.24 | — |
| 3-2-10 | 수신거부 (운영) | ⚪ 대기 | 김경은 | 2026.06.24 | — |
BackOffice 2차 (8)
| ID | 작업 | 상태 | 담당 | 목표 | 완료 |
|---|---|---|---|---|---|
| 3-3-1 | 통계 · 리포트 | ⚪ 대기 | 김경은 | — | — |
| 3-3-2 | 대시보드 | ⚪ 대기 | 김경은 | — | — |
| 3-3-3 | 템플릿 검수 · 관리 (AI 템플릿 정책) | ⚪ 대기 | 김경은 | — | — |
| 3-3-4 | 발송 운영 모니터링 (캠페인) | ⚪ 대기 | 김경은 | — | — |
| 3-3-5 | 고객지원 — 운영 가이드 관리 | ⚪ 대기 | 김경은 | — | — |
| 3-3-6 | 콘텐츠 · 사이트 관리 — 시스템 설정 / 점검 모드 / 외부 연동 | ⚪ 대기 | 김경은 | — | — |
| 3-3-7 | 시스템 관리 | ⚪ 대기 | 김경은 | — | — |
| 3-3-8 | API 관리 | ⚪ 대기 | 김경은 | — | — |
🎨 Step 4 · 디자인 / 퍼블리싱 step-4
- 비중 10% · 진행 20% · 2건
- 디자인 스타일 가이드 + 퍼블리싱 MD (개발 측 DESIGN.md + /guide 카탈로그로 대체 운영 중)
| ID | 작업 | 상태 | 담당 | 목표 | 완료 |
|---|---|---|---|---|---|
| 4-1 | 디자인 스타일 가이드 — (개발: doc/DESIGN.md Relay-inspired v1.0 + /guide 카탈로그 운영). 디자인팀 정식 산출물은 별도 필요. | ⚪ 대기 | 김양현 | — | — |
| 4-2 | 퍼블리싱 MD 파일 — (개발: Nuxt 3 + Nuxt UI v3 + Tailwind v4로 직접 퍼블리싱 중) | ⚪ 대기 | 김양현 | — | — |
🛠️ Step 5 · 서비스 개발 step-5
- 비중 45% · 진행 55% · 92건
- 6/4 §1~§5 + NHN OAuth 어댑터·Email 활성화·이메일 변경 라우트: UI 거의 완료 · API 약 72%(13 done) · 화면↔API 연동 약 40%(10 done) · 관리자단 핸드오프 17 페이지(화면만 ✅, API 연동 후속) · 통합·배포 Hyperdrive Tunnel + Email real
설계 및 준비 (7)
| ID | 작업 | 상태 | 담당 | 목표 | 완료 |
|---|---|---|---|---|---|
| 5-1-1 | 아키텍처 설계 — STACK.md — 3 레포 책임 + Cloudflare/AWS 혼합 + NHN 통합 | ✅ 완료 | 김도형 | 2026.05.14 | 2026.05.14 |
| 5-1-2 | 데이터 모델링 — 49 테이블 + Mermaid ERD 9종 + 확장성 전략(파티셔닝·Hot/Warm/Cold·R2 오프로드) | ✅ 완료 | 김도형 | 2026.05.27 | 2026.05.27 |
| 5-1-3 | 사용자단 디자인 시스템 — Relay-inspired v1.0 — ink 11단 + 그린 #00DC82 + Inter/JetBrains Mono/Pretendard | ✅ 완료 | 김도형 | 2026.05.18 | 2026.05.18 |
| 5-1-4 | 사용자단 디자인 가이드 (라이브 카탈로그) | ✅ 완료 | 김도형 | 2026.05.19 | 2026.05.19 |
| 5-1-5 | 관리자단 부트스트랩 + 셸 (LNB + TopBar) — Nuxt 3 + Nuxt UI v3 + LNB 256px·8그룹 + TopBar 64px | ✅ 완료 | 김도형 | 2026.05.27 | 2026.05.27 |
| 5-1-6 | 관리자단 디자인 가이드 | ✅ 완료 | 김도형 | 2026.05.27 | 2026.05.27 |
| 5-1-7 | 관리자단 페이지 기획 MD (33종) — P0 14 / P1 13 / P2 5 — 8 그룹 | ✅ 완료 | 김도형 | 2026.05.27 | 2026.05.27 |
API 서버 (16)
| ID | 작업 | 상태 | 담당 | 목표 | 완료 |
|---|---|---|---|---|---|
| 5-2-1 | Hono on Workers 부트스트랩 + Hyperdrive(Aurora) — drizzle-orm/mysql2 + /health/db + 배포 #1 | ✅ 완료 | 김도형 | 2026.05.26 | 2026.05.26 |
| 5-2-2 | DB 마이그레이션 — 49 테이블 + 파티션 5종 — 0000_initial.sql 적용 (49 + 75 파티션) | ✅ 완료 | 김도형 | 2026.05.26 | 2026.05.26 |
| 5-2-3 | 기초 도메인 CRUD (14 도메인) — /me /contacts /contact-groups /sender-* 등 + errors/pagination/auth/Drizzle | ✅ 완료 | 김도형 | 2026.05.26 | 2026.05.26 |
| 5-2-4 | OpenAPI 문서 (Scalar UI) — paths 37 / schemas 45+, 루트 / → /doc 302 | ✅ 완료 | 김도형 | 2026.05.27 | 2026.05.27 |
| 5-2-5 | 인증 — signup/login/JWT/PBKDF2 — Phase 1·2·3 + JWT_SECRET secret | ✅ 완료 | 김도형 | 2026.05.26 | 2026.05.26 |
| 5-2-6 | 발송 producer — 5채널 (SMS·Email·Kakao·Push·RCS) — 발신정보 검증·옵트아웃·크레딧 hold·트랜잭션 + 채널 branching generic화 | ✅ 완료 | 김도형 | 2026.05.27 | 2026.05.27 |
| 5-2-7 | 멱등성 — TB_IDEMPOTENCY + INSERT-then-conflict — 0001_idempotency.sql race-free | ✅ 완료 | 김도형 | 2026.05.27 | 2026.05.27 |
| 5-2-8 | NHN 어댑터 — 5채널 (mock/real) — src/adapters/nhn/{sms,email,kakao,push,rcs}.ts | ✅ 완료 | 김도형 | 2026.05.27 | 2026.05.27 |
| 5-2-9 | Cloudflare Queues + Consumer Worker — malgn-noti-dispatch + dispatch_state 천이 | ✅ 완료 | 김도형 | 2026.05.27 | 2026.05.27 |
| 5-2-10 | NHN Webhook 핸들러 (SMS · RCS) — HMAC-SHA256 + dedup_key. Email/Kakao/Push 미. | 🟡 진행 중 | 김도형 | 2026.06.09 | — |
| 5-2-11 | Export 잡 (다운로드 요청) — TB_EXPORT_JOB ✅ DDL 적용 + /export-jobs CRUD ✅ 라이브 검증 (POST 201, GET 200). 처리 worker + R2 미 | 🟡 진행 중 | 김도형 | 2026.06.17 | — |
| 5-2-12 | Flow 정의 (복합 발송) — TB_FLOW_DEFINITION/RUN/STEP_RUN ✅ DDL 적용 (FK 6) + /flow-definitions CRUD ✅ 라이브 검증. 실행 엔진 미 | 🟡 진행 중 | 김도형 | 2026.06.22 | — |
| 5-2-13 | 캠페인 API (스케줄러·시뮬레이션·테스트) | ⚪ 대기 | 김도형 | 2026.06.25 | — |
| 5-2-14 | PG(결제) 어댑터 + 카드 등록·결제·취소 — 토스(TossPayments) 확정 (2026-06-04). 어댑터 src/adapters/pg/toss.ts 신규 작성 + secret TOSS_CLIENT_KEY/TOSS_SECRET_KEY + 콜백 webhook 예정. | ⚪ 대기 | 김도형 | 2026.06.24 | — |
| 5-2-15 | AI 템플릿 게이트웨이 (LLM) — 제공자 미정 | ⚪ 대기 | 김도형 | 2026.07.01 | — |
| 5-2-16 | NHN 실 모드 전환 + envelope 암호화 — Notification Hub OAuth(client_credentials + Bearer 토큰) 어댑터 재작성 완료. SMS·Email 라우트 활성화. envelope 암호화·테넌트별 자격증명은 후속. | 🟡 진행 중 | 김도형 | 2026.06.12 | — |
API 엔드포인트 (5)
| ID | 작업 | 상태 | 담당 | 목표 | 완료 |
|---|---|---|---|---|---|
| 5-2-17 | 계약·서류 R2 라우트 (/contracts/*) + FILES 바인딩 — 6/2 §11. 5 라우트(list/sign/files list/upload/download/delete) + R2 bucket malgn-noti-files + TB_CONTRACT/TB_CONTRACT_FILE schema.ts + signup auto-create + reviewing 자동 전이 + lazy backfill (6/2 §11·§12·§13). | ✅ 완료 | 김도형 | 2026.06.02 | 2026.06.02 |
| 5-2-18 | NICE 통합인증 인프라 — 6/1 §5 + 6/2 §16 + 6/4 §1. mock 모드(자격증명 등록 후 콘솔 IP 정책 1007 미해결로 mock 유지). Workers outbound IPv6 진단 완료. | ✅ 완료 | 김도형 | 2026.06.01 | 2026.06.01 |
| 5-2-19 | WBS 정본 R2 저장 + GET/PATCH 라우트 — 6/4 §5. DB 미사용. R2 단일 JSON 객체(wbs/wbs.json, FILES 바인딩). 시드 142 task. GET 공개 + PATCH 인증 2 라우트. last-write-wins. | ✅ 완료 | 김도형 | 2026.06.04 | 2026.06.04 |
| 5-2-20 | POST /me/email-change — 서비스 담당자 이메일 변경 — 6/4. 비밀번호 + OTP(change_email) + email-only UPDATE (loginid 가입 시 식별자로 고정 유지). 라이브 e2e 5 시나리오 통과. | ✅ 완료 | 김도형 | 2026.06.04 | 2026.06.04 |
| 5-2-21 | NHN Notification Hub 어댑터 신규(OAuth + Bearer) — 6/4 §6. adapters/nhn/oauth.ts(토큰 발급+캐시) + sms.ts/email.ts 재작성(POST /message/v1.0/{SMS|EMAIL}/free-form-messages/{purpose}). contactType=PHONE_NUMBER/EMAIL_ADDRESS, X-NC-APP-KEY + X-NHN-Authorization. NhnCredentials 확장(userAccessKey/secretAccessKey + legacy secretKey 옵셔널). | ✅ 완료 | 김도형 | 2026.06.04 | 2026.06.04 |
사용자단 화면 UI (목업) (15)
| ID | 작업 | 상태 | 담당 | 목표 | 완료 |
|---|---|---|---|---|---|
| 5-3-1 | 인증·계정 — 로그인 / 회원가입 5단계 / 비번 재설정 / 보안 인증 — /login · /login/security · /reset-password · /reset-password/new · /signup | ✅ 완료 | 김도형 | 2026.05.20 | 2026.05.20 |
| 5-3-2 | 발송 6채널 (SMS/RCS/Kakao/Email/Push/Flow) — /send/* + PU 풀세트(수신자·주소록·광고수신·컨펌·초기화) | ✅ 완료 | 김도형 | 2026.05.20 | 2026.05.20 |
| 5-3-3 | 이력 / 통계 — 5채널 + 통계 대시보드 — /history/* + 비동기 다운로드 요청 패턴 | ✅ 완료 | 김도형 | 2026.05.21 | 2026.05.21 |
| 5-3-4 | 주소록 — 연락처 / 그룹 / 수신거부 — /contacts/{list,groups,optout} | ✅ 완료 | 김도형 | 2026.05.21 | 2026.05.21 |
| 5-3-5 | 발신 정보 6종 — /sender/{numbers,brands,domains,push-cert,profiles,optout-080} + 등록 마법사 | ✅ 완료 | 김도형 | 2026.05.22 | 2026.05.22 |
| 5-3-6 | 템플릿 관리 — 5채널 + 발송 상세 설정 — /manage/{sms,rcs,kakao,email,push,settings} | ✅ 완료 | 김도형 | 2026.05.22 | 2026.05.22 |
| 5-3-7 | 캠페인 — 본안 + 변형(v3) — /campaign · /campaign3 | ✅ 완료 | 김도형 | 2026.05.22 | 2026.05.22 |
| 5-3-8 | 크레딧 / 결제 — 충전·결과·내역·영수증·카드 관리 — /charge · /charge/result · /account/{credit,cards} | ✅ 완료 | 김도형 | 2026.05.22 | 2026.05.22 |
| 5-3-9 | 문의 — 작성 / 완료 / 내 문의 / 상세 — /inquiry · /inquiry/complete · /account/inquiries(/detail) | ✅ 완료 | 김도형 | 2026.05.22 | 2026.05.22 |
| 5-3-10 | 나의 페이지 — 9 라우트 — AppMyPageShell + /account/{settings,cards,password,security,multi,contract,credit,billing,inquiries} | ✅ 완료 | 김도형 | 2026.05.22 | 2026.05.22 |
| 5-3-11 | 메시지 관리 랜딩페이지 — 목록 · 기본형/확장형 등록 폼 · 미리보기 | ✅ 완료 | 김도형 | 2026.05.22 | 2026.05.22 |
| 5-3-12 | 공개 랜딩페이지 + 운영 가이드 — / (히어로·5채널·장점·단가 비교·CTA) + /help | ✅ 완료 | 김도형 | 2026.05.22 | 2026.05.22 |
| 5-3-13 | 디자인 가이드 (라이브 카탈로그) | ✅ 완료 | 김도형 | 2026.05.19 | 2026.05.19 |
| 5-3-14 | 시스템 페이지 — 404 / system error — 단독 일부 라이브. 점검 / 네트워크 / 인증 메일 템플릿 미 | 🟡 진행 중 | 김도형 | 2026.06.11 | — |
| 5-3-15 | /wbs 페이지 — R2 정본 비동기 로드 + 인라인 편집 모달 — 6/4 §5. 임베디드 STAGES 제거 → top-level await api(/wbs). AppModal 편집 다이얼로그(owner·note·href·targetDate·completionDate). 비로그인 읽기 전용 + "로그인하면 편집 가능" 힌트. | ✅ 완료 | 김도형 | 2026.06.04 | 2026.06.04 |
사용자단 ↔ API 연동 (21)
| ID | 작업 | 상태 | 담당 | 목표 | 완료 |
|---|---|---|---|---|---|
| 5-3C-1 | 인증·계정 (/auth/signup·/auth/login·/me) — 6/1 §4. JWT 쿠키 + 가드 미들웨어 + 클라이언트 부트스트랩 플러그인 | ✅ 완료 | 김도형 | 2026.06.01 | 2026.06.01 |
| 5-3C-1a | 이메일 OTP (/auth/email-code/send·/verify) — 6/1 §5. signup.vue Step 3에서 실 API 호출 + mockCode 개발 편의 | ✅ 완료 | 김도형 | 2026.06.01 | 2026.06.01 |
| 5-3C-2 | 로그아웃 — GNB 실 연결 (P0) — useAuthStore().logout() 호출로 데모 토글 교체 | ⚪ 대기 | 김도형 | 2026.06.05 | — |
| 5-3C-3 | 비밀번호 재설정 — OTP 인프라 재활용 (P0) — purpose='reset_password' + POST /auth/password/reset 신설 | ⚪ 대기 | 김도형 | 2026.06.10 | — |
| 5-3C-4 | POST /auth/login-by-email — companyId UX 개선 (P0) — 6/2 §7. 로그인 폼에서 고객사 ID 필드 제거. 같은 이메일이 여러 회사면 회사 선택 UI 노출 | ✅ 완료 | 김도형 | 2026.06.02 | 2026.06.02 |
| 5-3C-5 | 약관 동의 적재 (POST /auth/agree-terms) (P1) — TB_TERMS_AGREEMENT 적재 | ⚪ 대기 | 김도형 | 2026.06.05 | — |
| 5-3C-6 | companyType 전달·저장 + 화면 분기 (P1) — 6/2 §7. TB_COMPANY.company_type 추가 + signup에서 전달 + /me 응답 노출 + Member 패널 사업자등록증 변경 버튼 조건부 노출. 개인 유형 다른 화면(LNB·계약/멀티 미노출)은 후속 | 🟡 진행 중 | 김도형 | 2026.06.08 | 2026.06.02 |
| 5-3C-17 | 사업자등록증 심사 승인 게이트 (정책) — 6/2 §7. TB_COMPANY.approval_state 신규 + signup 자동 분기(corp/sole pending, personal approved) + PATCH /me·/me/company 차단 403 + 프런트 배너·입력 disabled. 운영자단 승인 화면 + 다른 도메인 라우트 차단은 후속 | ✅ 완료 | 김도형 | 2026.06.02 | 2026.06.02 |
| 5-3C-7 | PATCH /me + /account/settings — 6/2 §6 + 6/4 (PATCH /me + /me/company + /me/email-change). 서비스 담당자 이메일 변경(loginid 유지·email만)·결제 이메일 변경·광고수신 토글 모두 실 API. 비밀번호 변경은 5-3C-8 별도. | ✅ 완료 | 김도형 | 2026.06.04 | 2026.06.04 |
| 5-3C-8 | POST /auth/password + /account/password (P2) | ⚪ 대기 | 김도형 | 2026.06.23 | — |
| 5-3C-9 | /account/security (2FA) + PATCH /me/security (P2) — TB_VERIFICATION 재사용 | ⚪ 대기 | 김도형 | 2026.06.24 | — |
| 5-3C-10 | /account/multi + /manager-invites (P2) | ⚪ 대기 | 김도형 | 2026.06.26 | — |
| 5-3C-11 | /account/contract + R2 업로드 — 6/2 §11~§15. /contracts/* 5 라우트(list/sign/files list/upload/download/delete) + R2 bucket malgn-noti-files + 미리보기·삭제·휴대폰 본인인증 서명 + 사업자등록증 자동 reviewing 전이 + lazy backfill + 파일 행 상태 배지. 운영자 승인 화면만 미 | ✅ 완료 | 김도형 | 2026.06.02 | 2026.06.02 |
| 5-3C-12 | 발송 6채널 — UI에 실 API 호출 (Idempotency-Key 헤더) — NHN Notification Hub 자격증명(User Access Key) 수령 + 어댑터 OAuth 재작성 필요 (6/2 §16) | ⚪ 대기 | 김도형 | 2026.06.15 | — |
| 5-3C-13 | 이력/통계 — 목록·통계 라우트 연동 — API 일부 미 — 5-2 동시 진행 | ⚪ 대기 | 김도형 | 2026.06.18 | — |
| 5-3C-14 | 주소록·발신정보·템플릿 — CRUD 연동 (API ✅) | ⚪ 대기 | 김도형 | 2026.06.19 | — |
| 5-3C-15 | 크레딧·결제 — PG 어댑터 미정 (블로커) | ⚪ 대기 | 김도형 | 2026.06.27 | — |
| 5-3C-16 | 문의 — /inquiries 연동 | ⚪ 대기 | 김도형 | 2026.06.19 | — |
| 5-3C-18 | 사업자등록증 첨부 시 reviewing 자동 전이 + 파일 행 배지 + 반려 시 삭제 — 6/2 §12·§14. approval_state enum 4단계 확장(pending→reviewing→approved/rejected) + POST /contracts/files kind=biz 후 pending/rejected→reviewing UPDATE + 파일 행 상태 배지(reviewing=info·approved=success·rejected=danger) + rejected 상태에서만 삭제 버튼 | ✅ 완료 | 김도형 | 2026.06.02 | 2026.06.02 |
| 5-3C-19 | 계약서 서명 다이얼로그 — 휴대폰 본인인증 sub-step — 6/2 §15. phone-code purpose=contract_sign 추가 + 다이얼로그 STEP 3에 본인인증 카드(휴대폰 마스킹 + 발송 + 6자리 확인) + 통과 시 서명 영역 노출 + 공인인증서 탭 제거 + dialog open 시 fetchMe 강제 hydrate | ✅ 완료 | 김도형 | 2026.06.02 | 2026.06.02 |
| 5-3C-20 | 서비스 담당자 이메일 변경 — 실 OTP API 연동 — 6/4. AppEmailChangeDialog sendCode/confirmCode를 /auth/email-code/{send,verify} (purpose=change_email)로 교체. confirm payload={newEmail,code,password}. auth store changeEmail() → POST /me/email-change. 결제 이메일 변경은 기존 흐름 유지. | ✅ 완료 | 김도형 | 2026.06.04 | 2026.06.04 |
관리자단 화면 (16)
| ID | 작업 | 상태 | 담당 | 목표 | 완료 |
|---|---|---|---|---|---|
| 5-4-1 | 셸 + LNB(8 그룹) + TopBar + 디자인 가이드 — 부트스트랩 · 라이브 | ✅ 완료 | 김도형 | 2026.05.27 | 2026.05.27 |
| 5-4-2 | 페이지 기획 MD (33종) — P0 14 / P1 13 / P2 5 | ✅ 완료 | 김도형 | 2026.05.27 | 2026.05.27 |
| 5-4-3 | 회원 · 고객사 관리 (P0) | ⚪ 대기 | 김도형 | 2026.06.27 | — |
| 5-4-4 | 시스템 관리 (P0) — 운영자 / RBAC / 감사 로그 | ⚪ 대기 | 김도형 | 2026.06.29 | — |
| 5-4-5 | 요금 · 단가 관리 (P0) | ⚪ 대기 | 김도형 | 2026.06.27 | — |
| 5-4-6 | 고객지원 (P0) | ⚪ 대기 | 김도형 | 2026.06.29 | — |
| 5-4-7 | 발송 운영 모니터링 (P1) | ⚪ 대기 | 김도형 | 2026.07.02 | — |
| 5-4-8 | 발신 정보 검수 (P0) | ⚪ 대기 | 김도형 | 2026.06.28 | — |
| 5-4-9 | 결제 · 크레딧 + 고객사 상세 결제 탭 (P0) | ⚪ 대기 | 김도형 | 2026.06.30 | — |
| 5-4-10 | 템플릿 검수 · 관리 (P0) | ⚪ 대기 | 김도형 | 2026.07.01 | — |
| 5-4-11 | 수신거부 (운영) (P1) | ⚪ 대기 | 김도형 | 2026.07.01 | — |
| 5-4-12 | 통계 · 리포트 + 대시보드 (P2) | ⚪ 대기 | 김도형 | 2026.07.03 | — |
| 5-4-13 | 콘텐츠 · 사이트 + 시스템 관리 + API 관리 (P2) | ⚪ 대기 | 김도형 | 2026.07.03 | — |
| 5-4-14 | 핸드오프 정본 17 페이지 풀세트 (화면만, API 연동 후속) — 6/4 §3. handoff_noti_admin (3,129줄 jsx) → Vue 1:1 포팅. 셸 완전 재정비 + 공유 컴포넌트 14종 + 차트 4종 + 17 페이지(대시보드·고객사·고객사 상세·계정·모니터링·발신번호·발신프로필·템플릿검수·결제·채널단가·충전쿠폰·1:1문의·FAQ·공지·통계·운영자·권한그룹·API). 18 라우트 라이브 200. | ✅ 완료 | 김도형 | 2026.06.04 | 2026.06.04 |
| 5-4-15 | 페이지 진척 상태 라벨 (dev=screen/partial/live) — 6/4. AppPageHeader prop dev 3단계. 화면(neutral·flask)·일부 연동(warning·construction)·연동(미표시). 17 페이지 모두 dev="screen"으로 명시. | ✅ 완료 | 김도형 | 2026.06.04 | 2026.06.04 |
| 5-4-16 | 로고/브랜드 — 사용자단 로고로 통일 + "관리자" 식별 태그 — 6/4. 기존 파랑 그라데이션 박스 폐기 → AppLogoMark(말풍선+스파클) + "맑은 message" + primary-50 배경 "관리자" 배지. | ✅ 완료 | 김도형 | 2026.06.04 | 2026.06.04 |
통합 · 배포 (12)
| ID | 작업 | 상태 | 담당 | 목표 | 완료 |
|---|---|---|---|---|---|
| 5-5-1 | 사용자단 Cloudflare Pages 배포 #1~#69 + alias 다수 — 매 마일스톤 직후 배포 (6/4 누적 #80+ alias 다수) | 🟡 진행 중 | 김도형 | — | — |
| 5-5-2 | 관리자단 Cloudflare Pages 첫 Nuxt 배포 — 정적 placeholder → 실 Nuxt 앱 | ✅ 완료 | 김도형 | 2026.05.27 | 2026.05.27 |
| 5-5-3 | API Workers 배포 #1~#19 — 6/4 최신 Version 1ca0446e-ed3f-4079-be5f-3407f4550ba7 (#25+) | 🟡 진행 중 | 김도형 | — | — |
| 5-5-4 | DDL — 0001~0005 라이브 적용 — 0001 idempotency / 0002 export_flow / 0003 loginid global unique / 0004 nice_auth / 0005 company_approval. TB_CONTRACT·TB_CONTRACT_FILE은 6/2 §11에서 schema.ts 정의(라이브에 이미 존재) | ✅ 완료 | 김도형 | 2026.06.02 | 2026.06.02 |
| 5-5-5 | NHN Notification Hub 자격증명 + 어댑터 재작성 — 6/4: SMS·Email 어댑터 Notification Hub로 재작성 완료 + Email real 발송 검증 통과. SMS는 NHN 콘솔 발신번호 등록 + SMS_FROM secret 대기. push/rcs/kakao 어댑터 마이그레이션 후속. | 🟡 진행 중 | 김도형 | 2026.06.19 | — |
| 5-5-6 | NICE 통합인증 실 모드 전환 — 6/4 재시도 → 여전히 1007 (Workers outbound IPv6 vs NICE 콘솔 IPv4 등록). 사용자 콘솔 IP 정책 해결 대기. | ⚪ 대기 | 김도형 | 2026.07.03 | — |
| 5-5-7 | R2 bucket malgn-noti-files + FILES 바인딩 — 6/2 §11. 사업자등록증·대부업등록증·보험증권 첨부용 | ✅ 완료 | 김도형 | 2026.06.02 | 2026.06.02 |
| 5-5-8 | PG 카드 결제 연동 | ⚪ 대기 | 김도형 | 2026.06.26 | — |
| 5-5-9 | AI 템플릿 게이트웨이 연동 | ⚪ 대기 | 김도형 | 2026.07.02 | — |
| 5-5-10 | Hyperdrive Cloudflare Tunnel(Access) 전환 — 6/4 §2. id a2ba... → 439b... 신규 origin malgn-dev-db.apiserver.kr + access_client_id. Aurora SG egress IP 화이트리스트 운영 부담 해소. 정본 3개(API CLAUDE.md §3·§8·§12, SCALABILITY.md §6 신규 절, MIGRATION.md §1) 동기화. 라이브 검증 통과. | ✅ 완료 | 김도형 | 2026.06.04 | 2026.06.04 |
| 5-5-11 | NHN Email 실 발송 활성화 — 6/4. message@malgnsoft.com 발신 도메인 NHN Notification Hub 콘솔 등록 + EMAIL_FROM/EMAIL_FROM_NAME secret 등록. NHN 직접 호출 SUCCESS·messageId 발급 확인. | ✅ 완료 | 김도형 | 2026.06.04 | 2026.06.04 |
| 5-5-12 | NHN SMS 실 발송 활성화 — 어댑터·인증·페이로드 검증 완료. NHN 콘솔 발신번호 등록 + SMS_FROM secret 설정 + 라이브 e2e 1건 대기. | ⚪ 대기 | 김도형 | 2026.06.13 | — |
부록 A. Step 5 단순화 카테고리 (재정의)
위 "단계별 상세"의 Step 5(서비스 개발) 세부 항목을 큰 카테고리로 묶어 단순화한 뷰. 향후 간트 WBS로 펼칠 때의 묶음 기준. 괄호 안은 기존 task id.
A-1. API 백엔드 — 🟡
기존 API 서버(16) + API 엔드포인트(5) → 6개 카테고리 통합.
| # | 카테고리 | 상태 | 포함 (기존 id) |
|---|---|---|---|
| 1.1 | 기반 인프라 | ✅ | Workers+Hyperdrive(5-2-1) · DB 49테이블·파티션(5-2-2) · 기초 CRUD 14도메인(5-2-3) · OpenAPI/Scalar(5-2-4) |
| 1.2 | 인증·계정·문서 | ✅ | signup/login/JWT/PBKDF2(5-2-5) · NICE 통합인증(5-2-18) · 계약·서류 R2(5-2-17) · WBS R2(5-2-19) · 이메일 변경(5-2-20) |
| 1.3 | 발송 엔진 | 🟡 | producer 5채널(5-2-6) · 멱등성(5-2-7) · NHN 어댑터(5-2-8) · Queues+Consumer(5-2-9) · NHN Hub OAuth(5-2-21) · Webhook(5-2-10) · 실모드 전환·암호화(5-2-16) |
| 1.4 | 발송 확장 | 🟡 | Export 다운로드 잡(5-2-11) · Flow 복합발송(5-2-12) · 캠페인(스케줄·시뮬·테스트)(5-2-13) |
| 1.5 | 결제·크레딧 | ⚪ | PG 어댑터 + 카드 등록·결제·취소(5-2-14) |
| 1.6 | AI 템플릿 | ⚪ | LLM 게이트웨이(5-2-15) |
A-2. 사용자단 ↔ API 연동 — 🟡
| # | 카테고리 | 상태 | 포함 (기존 id) |
|---|---|---|---|
| 2.1 | 인증·계정 | 🟡 | 로그인·회원가입·/me(5-3C-1) · 이메일 OTP(5-3C-1a) · login-by-email(5-3C-4) · /account/settings PATCH(5-3C-7) · 로그아웃(5-3C-2) · 비번 재설정(5-3C-3) · 약관 동의(5-3C-5) · companyType 분기(5-3C-6) · 비번 변경(5-3C-8) · 2FA(5-3C-9) · 멀티계정·초대(5-3C-10) |
| 2.2 | 계약·승인 | ✅ | 승인 게이트(5-3C-17) · 계약·R2 업로드(5-3C-11) · reviewing 자동전이·배지(5-3C-18) · 계약서 서명(5-3C-19) · 담당자 이메일 변경(5-3C-20) |
| 2.3 | 발송·이력·통계 | ⚪ | 발송 6채널 실 API(5-3C-12) · 이력/통계 연동(5-3C-13) |
| 2.4 | 데이터 관리 | ⚪ | 주소록·발신정보·템플릿 CRUD 연동(5-3C-14) |
| 2.5 | 크레딧·결제 | ⚪ | PG 연동 — 블로커(5-3C-15) |
| 2.6 | 문의 | ⚪ | /inquiries 연동(5-3C-16) |
A-3. 관리자단 화면 — ⚪ (화면 골격 ✅ / 실 연동 ⚪)
| # | 카테고리 | 상태 | 포함 (기존 id) |
|---|---|---|---|
| 3.1 | 기반·셸·핸드오프 | ✅ | 셸 LNB+TopBar+디자인가이드(5-4-1) · 기획 MD 33종(5-4-2) · 핸드오프 17페이지(5-4-14) · 진척 라벨(5-4-15) · 로고/브랜드(5-4-16) |
| 3.2 | 회원·고객사 | ⚪ | 회원·고객사 관리 + 상세(5-4-3) |
| 3.3 | 운영·검수 | ⚪ | 발송 모니터링(5-4-7) · 발신정보 검수(5-4-8) · 템플릿 검수(5-4-10) · 수신거부 운영(5-4-11) |
| 3.4 | 요금·결제 | ⚪ | 요금·단가(5-4-5) · 결제·크레딧 + 결제 탭(5-4-9) |
| 3.5 | 고객지원 | ⚪ | 1:1 문의·FAQ·공지(5-4-6) |
| 3.6 | 시스템·통계 | ⚪ | 운영자·RBAC·감사로그(5-4-4) · 통계·리포트(5-4-12) · 콘텐츠·사이트·API(5-4-13) |
다음 단계
- 간트 WBS 신규 작성 — 부록 A 카테고리를 작업 단위로 펼쳐 시작·종료·의존성·담당을 간트로 구성(별도).
- 본 문서는 현황판 데이터(
GET /wbs)가 갱신될 때 함께 현행화(맨 위 날짜 갱신). 세부 진척의 일차 정본은 현황판/간트 WBS. - 우선순위(공통): 발송·이력 실 연동(2.3) · 관리자단 회원·고객사(3.2) · 결제 트랙(PG 선정 → 1.5/2.5/3.4 동시 해소).