Files
sam-docs/projects/e-sign/changelog.md
김보곤 aab9dc0799 docs:E-Sign 기술 스택 문서 업데이트 (실제 구현 반영)
- FPDI/FPDF → FPDI/TCPDF (PDF 서명 합성, MNG PdfSignatureService)
- DOCX→PDF 변환 추가 (LibreOffice headless, MNG DocxToPdfConverter)
- GD 확장, 나눔 폰트, Lucide 아이콘 등 실제 사용 기술 반영
- 4개 문서 일괄 업데이트 (technical-design, implementation-guide, operations-guide, changelog)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 13:02:16 +09:00

9.6 KiB

SAM E-Sign 변경 이력 (Changelog)

최종 수정: 2026-02-12 형식: Keep a Changelog


목차

  1. 버전 이력
  2. 릴리스 상세
  3. 커밋 이력
  4. 파일 변경 요약
  5. 향후 계획

1. 버전 이력

버전 날짜 유형 요약
1.0.0 2026-02-12 초기 릴리스 전자계약 서명 솔루션 전체 구현

2. 릴리스 상세

[1.0.0] - 2026-02-12 (초기 릴리스)

E-Sign 전자계약 서명 솔루션의 첫 번째 릴리스입니다. 모두싸인과 유사한 간편 전자계약 서명 기능을 SAM 시스템에 구축했습니다.

Added (추가)

데이터베이스

  • esign_contracts 테이블: 전자계약 관리 (7개 상태, 2개 서명 순서 유형)
  • esign_signers 테이블: 서명자 관리 (작성자/상대방, OTP 인증, 토큰 기반 접근)
  • esign_sign_fields 테이블: 서명 위치 필드 (signature, stamp, text, date, checkbox)
  • esign_audit_logs 테이블: 감사 로그 (11개 액션 유형, 삭제 불가)

API 백엔드

  • EsignContract 모델: 계약 관리, 상태 상수, 관계 정의, 스코프
  • EsignSigner 모델: 서명자 관리, 인증 상태, 토큰 관리
  • EsignSignField 모델: 서명 위치 필드
  • EsignAuditLog 모델: 감사 로그 (삭제 불가)
  • EsignContractService: 계약 CRUD, 발송, 취소, 리마인더, 통계
  • EsignSignService: 토큰 조회, OTP 발송/검증, 서명 제출/거절
  • EsignPdfService: SHA-256 해시 생성/검증
  • EsignAuditService: 감사 로그 기록/조회
  • EsignContractController: 계약 관리 API 10개 (인증 필요)
  • EsignSignController: 서명 프로세스 API 6개 (토큰 기반)
  • ContractStoreRequest: 계약 생성 유효성 검증
  • FieldConfigureRequest: 서명 필드 설정 유효성 검증
  • SignSubmitRequest: 서명 제출 유효성 검증
  • SignRejectRequest: 서명 거절 유효성 검증
  • EsignRequestMail: 서명 요청 이메일 (링크 포함)
  • E-Sign 전용 i18n 메시지 키 28개 (12 성공 + 16 에러)

MNG 프론트엔드

  • EsignController: 인증 필요 화면 5개 (대시보드, 생성, 상세, 필드설정, 발송)
  • EsignPublicController: 공개 서명 화면 3개 (본인인증, 서명, 완료)
  • dashboard.blade.php: 대시보드 (통계 카드 + 계약 목록 + 검색/필터)
  • create.blade.php: 계약 생성 (PDF 업로드, 서명자 정보 입력)
  • detail.blade.php: 계약 상세 (서명 현황, 감사 로그, 진행 타임라인)
  • fields.blade.php: 서명 위치 지정 (PDF.js 기반 드래그&드롭)
  • send.blade.php: 서명 요청 발송 확인
  • sign/auth.blade.php: 본인인증 OTP 입력
  • sign/sign.blade.php: 서명 수행 (signature_pad 라이브러리)
  • sign/done.blade.php: 서명 완료 안내

보안

  • 128자 랜덤 Access Token (서명자별 고유)
  • OTP 2단계 인증 (6자리, 5분 유효, 최대 5회 시도)
  • SHA-256 파일 무결성 검증
  • Multi-Tenant 데이터 격리 (tenant_id 글로벌 스코프)
  • IP 주소/User Agent 기록 (감사 추적)

문서

  • 기술 설계 문서 (technical-design.md)
  • 요구사항 정의서 (requirements-specification.md)
  • 구현 가이드 (implementation-guide.md)
  • 스토리보드 PPTX (esign-storyboard.pptx)
  • 테스트 계획서 (test-plan.md, 159개 TC)
  • 사용자 매뉴얼 (user-manual.md)
  • 운영/배포 가이드 (operations-guide.md)
  • API 명세서 (api-specification.md, 16개 엔드포인트)
  • 변경 이력 (changelog.md)

3. 커밋 이력

API 저장소 (sam-api)

커밋 날짜 메시지 변경
6958be1 2026-02-12 07:02 feat:E-Sign 전자계약 서명 솔루션 백엔드 구현 +1,673줄 / 22파일
fa6d208 2026-02-12 07:15 feat:E-Sign 전자계약 i18n 메시지 키 추가 +36줄 / 2파일

MNG 저장소 (sam-mng)

커밋 날짜 메시지 변경
3281788 2026-02-12 07:02 feat:E-Sign 전자계약 서명 솔루션 MNG 프론트엔드 구현 +1,564줄 / 11파일

문서 저장소 (sam-docs)

커밋 날짜 메시지 변경
0c8c9f6 2026-02-12 07:40 docs:E-Sign 기술설계 문서 + 스토리보드 PPTX 추가 2파일
23170df 2026-02-12 08:10 docs:E-Sign 요구사항 정의서 추가 1파일
8dc8fe0 2026-02-12 08:27 docs:E-Sign 기술 설계 문서 보완 (실제 구현 반영) 1파일
7c1fb72 2026-02-12 08:34 docs:E-Sign 테스트 계획서 추가 (159개 TC) 1파일
02d1893 2026-02-12 08:38 docs:E-Sign 사용자 매뉴얼 추가 1파일
b469098 2026-02-12 08:49 docs:E-Sign 운영/배포 가이드 추가 1파일
621bb91 2026-02-12 08:56 docs:E-Sign API 명세서 추가 (16개 엔드포인트) 1파일

4. 파일 변경 요약

v1.0.0 전체 파일 목록

API 프로젝트 (24개 파일, +1,709줄)

database/migrations/
  2026_02_12_100000_create_esign_contracts_table.php      [NEW]
  2026_02_12_110000_create_esign_signers_table.php         [NEW]
  2026_02_12_120000_create_esign_sign_fields_table.php     [NEW]
  2026_02_12_130000_create_esign_audit_logs_table.php      [NEW]

app/Models/ESign/
  EsignContract.php                                        [NEW]
  EsignSigner.php                                          [NEW]
  EsignSignField.php                                       [NEW]
  EsignAuditLog.php                                        [NEW]

app/Services/ESign/
  EsignContractService.php                                 [NEW]
  EsignSignService.php                                     [NEW]
  EsignPdfService.php                                      [NEW]
  EsignAuditService.php                                    [NEW]

app/Http/Controllers/Api/V1/ESign/
  EsignContractController.php                              [NEW]
  EsignSignController.php                                  [NEW]

app/Http/Requests/ESign/
  ContractStoreRequest.php                                 [NEW]
  FieldConfigureRequest.php                                [NEW]
  SignSubmitRequest.php                                     [NEW]
  SignRejectRequest.php                                     [NEW]

app/Mail/
  EsignRequestMail.php                                     [NEW]

resources/views/emails/
  esign-request.blade.php                                  [NEW]

routes/api/v1/
  esign.php                                                [NEW]

routes/api.php                                             [MODIFIED]

lang/ko/esign.php                                          [NEW]
lang/en/esign.php                                          [NEW]

MNG 프로젝트 (11개 파일, +1,564줄)

app/Http/Controllers/ESign/
  EsignController.php                                      [NEW]
  EsignPublicController.php                                [NEW]

resources/views/esign/
  dashboard.blade.php                                      [NEW]
  create.blade.php                                         [NEW]
  detail.blade.php                                         [NEW]
  fields.blade.php                                         [NEW]
  send.blade.php                                           [NEW]
  sign/auth.blade.php                                      [NEW]
  sign/sign.blade.php                                      [NEW]
  sign/done.blade.php                                      [NEW]

routes/web.php                                             [MODIFIED]

문서 프로젝트 (10개 파일)

projects/e-sign/
  technical-design.md                                      [NEW]
  requirements-specification.md                            [NEW]
  implementation-guide.md                                  [NEW]
  storyboard-config.json                                   [NEW]
  esign-storyboard.pptx                                    [NEW]
  test-plan.md                                             [NEW]
  user-manual.md                                           [NEW]
  operations-guide.md                                      [NEW]
  api-specification.md                                     [NEW]
  changelog.md                                             [NEW]

통계

저장소 파일 수 코드 라인 커밋 수
API 24 +1,709 2
MNG 11 +1,564 1
문서 10 - 8
합계 45 +3,273 11

5. 향후 계획

v1.1.0 (예정)

  • PDF 서명 합성 - FPDI/TCPDF (MNG PdfSignatureService)
  • DOCX→PDF 변환 - LibreOffice headless (MNG DocxToPdfConverter)
  • 감사 증적 페이지 추가 (EsignPdfService::addAuditPage)
  • 만료 계약 자동 처리 (Laravel Scheduler)
  • Queue Worker 설정 (이메일 비동기 발송)

v1.2.0 (예정)

  • SMS OTP 지원 (Kakao 알림톡 연동)
  • 대량 계약 발송 기능
  • 계약 템플릿 관리
  • PDF 미리보기 개선 (pdf.js 최신 버전)

v2.0.0 (예정)

  • AWS S3 파일 스토리지 마이그레이션
  • 전자서명 법적 효력 인증 (공인전자서명 연동)
  • 모바일 반응형 서명 화면
  • 다국어 지원 (영문 이메일 템플릿)
  • API Rate Limiting

부록: 작성자 정보

항목
개발 김보곤 (lightone2017@codebridge-x.com)
AI 지원 Claude Opus 4.6 (noreply@anthropic.com)
프로젝트 SAM (Smart Automation Management)
조직 주일/경동 IT 혁신팀

문서 끝 | SAM E-Sign Changelog v1.0.0