9.6 KiB
9.6 KiB
SAM E-Sign 변경 이력 (Changelog)
최종 수정: 2026-02-12 형식: Keep a Changelog
목차
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 서명 합성 (
EsignPdfService::composeSigned) - FPDI/FPDF 라이브러리 - 감사 증적 페이지 추가 (
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