# SAM ERP API 개발 작업 계획 - D1.0 변경사항 > **작성일**: 2025-12-19 > **기준 문서**: SAM_ERP_Storyboard_D1.0_251218 (38페이지) > **이전 버전**: SAM_ERP_Storyboard_D0.8_251216 (85페이지) > **상태**: ✅ Phase 5 완료 | ✅ Phase 6 완료 | ✅ Phase 7 완료 | ✅ Phase 8 완료 --- ## 📚 참고 문서 ### 핵심 참고 문서 | 문서 | 경로 | 용도 | |------|------|------| | **기존 개발 계획** | [`erp-api-development-plan.md`](./erp-api-development-plan.md) | D0.8 기준 Phase 1-4 | | **개발 공통 정책** | [`../guides/PROJECT_DEVELOPMENT_POLICY.md`](../guides/PROJECT_DEVELOPMENT_POLICY.md) | 개발 표준 및 정책 | | **D0.8 스토리보드** | [`SAM_ERP_Storyboard_D0.8_251216/`](./SAM_ERP_Storyboard_D0.8_251216/) | 이전 버전 UI 참조 | | **D1.0 스토리보드** | [`SAM_ERP_Storyboard_D1.0_251218/`](./SAM_ERP_Storyboard_D1.0_251218/) | 최신 UI/UX 참조 | ### 기존 코드 참조 | 항목 | 경로 | 상태 | |------|------|------| | `Board` 모델 | `api/app/Models/Boards/Board.php` | ✅ 존재 | | `BoardSetting` 모델 | `api/app/Models/Boards/BoardSetting.php` | ✅ 존재 | | `BoardComment` 모델 | `api/app/Models/Boards/BoardComment.php` | ✅ 존재 | | `Plan` 모델 | `api/app/Models/Tenants/Plan.php` | ✅ 존재 | | `Subscription` 모델 | `api/app/Models/Tenants/Subscription.php` | ✅ 존재 | | `PushNotificationSetting` | `api/app/Models/PushNotificationSetting.php` | ✅ 존재 | --- ## 📊 D1.0 개발 범위 요약 | Phase | 구분 | 항목수 | 신규 테이블 | API 수 | 상태 | |-------|------|--------|------------|--------|------| | Phase 5 | 기본 확장 | 4개 | 1개 | ~14개 | ✅ 완료 | | Phase 6 | 핵심 신규 | 2개 | 4개 | ~17개 | ✅ 완료 | | Phase 7 | 게시판 연동 | 2개 | 0개 | ~15개 | ✅ 완료 | | Phase 8 | SaaS 확장 | 3개 | 1개 | ~10개 | ✅ 완료 | | **합계** | | **12개** | **~5개** | **~71개** | | --- ## 🚀 Phase 5: D1.0 기본 확장 ✅ 완료 > 기존 테이블/모델 활용, API 추가 중심 > **완료일: 2025-12-22** (기존 구현 확인) ### 5.1 사용자 초대 기능 ✅ > 슬라이드: 2 | 경로: 인사관리 > 사원관리 > 사용자 초대 > **완료일: 2025-12-19** - [x] **테이블 생성** - [x] `user_invitations` 마이그레이션 (2025_12_19_100001) - [x] 마이그레이션 실행 및 검증 - [x] **모델 생성** - [x] `UserInvitation` 모델 (BelongsToTenant) - [x] 관계 정의 (inviter, role, tenant) - [x] 토큰 생성 헬퍼 (`generateToken()`) - [x] 상태 상수 (pending, accepted, expired, cancelled) - [x] **서비스 구현** - [x] `UserInvitationService` 생성 - [x] 이메일 초대 발송 로직 (`invite()`) - [x] 초대 수락 로직 (`accept()`) - [x] 토큰 만료 처리 (`expirePendingInvitations()`) - [x] 초대 재발송 로직 (`resend()`) - [x] **API 엔드포인트** (5개) - [x] `POST /v1/users/invite` - 사용자 초대 (이메일 발송) - [x] `GET /v1/users/invitations` - 초대 목록 - [x] `POST /v1/users/invitations/{token}/accept` - 초대 수락 - [x] `DELETE /v1/users/invitations/{id}` - 초대 취소 - [x] `POST /v1/users/invitations/{id}/resend` - 초대 재발송 - [x] **Swagger 문서** - [x] `UserInvitationApi.php` 작성 - [x] 스키마 정의 (UserInvitation, InviteRequest, AcceptRequest) - [ ] **테스트** - [ ] Feature 테스트 작성 - [ ] 수동 API 테스트 --- ### 5.2 알림설정 확장 ✅ > 슬라이드: 19-22 | 경로: 기준정보 > 알림설정 > **완료일: 2025-12-19** - [x] **테이블 확장** - [x] `notification_settings` 테이블 확인/생성 - [x] **모델 생성/수정** - [x] `NotificationSetting` 모델 (BelongsToTenant) - [x] 카테고리별 그룹화 메서드 - [x] **서비스 구현** - [x] `NotificationSettingService` 생성 - [x] 카테고리별 조회/수정 로직 - [x] 사용자별 기본값 생성 로직 - [x] **API 엔드포인트** (3개) - [x] `GET /v1/users/me/notification-settings` - 알림 설정 조회 - [x] `PUT /v1/users/me/notification-settings` - 알림 설정 수정 - [x] `PUT /v1/users/me/notification-settings/bulk` - 알림 일괄 설정 - [x] **Swagger 문서** - [x] `NotificationSettingApi.php` 작성 - [ ] **테스트** - [ ] Feature 테스트 작성 - [ ] 수동 API 테스트 --- ### 5.3 계정정보 수정 (탈퇴/사용중지) ✅ > 슬라이드: 24 | 경로: 계정정보 > **완료일: 2025-12-19** - [x] **서비스 구현** - [x] `AccountService` 생성/확장 - [x] 회원 탈퇴 로직 (`withdraw()`) - [x] 사용 중지 로직 (`suspend()`) - [x] 약관 동의 정보 관리 (`getAgreements()`, `updateAgreements()`) - [x] **API 엔드포인트** (4개) - [x] `POST /v1/account/withdraw` - 회원 탈퇴 - [x] `POST /v1/account/suspend` - 사용 중지 (특정 테넌트) - [x] `GET /v1/account/agreements` - 약관 동의 정보 조회 - [x] `PUT /v1/account/agreements` - 약관 동의 정보 수정 - [x] **Swagger 문서** - [x] `AccountApi.php` 확장 - [ ] **테스트** - [ ] Feature 테스트 작성 - [ ] 수동 API 테스트 --- ### 5.4 매출 상세 확장 (거래명세서) ✅ > 슬라이드: 9 | 경로: 회계관리 > 매출관리 > 매출 상세 > **완료일: 2025-12-19** **기존 구성요소:** - `Sale` 모델, `SaleService` 존재 - `TaxInvoice` 모델 존재 (세금계산서) - [x] **서비스 확장** - [x] `SaleService` 확장 - [x] 거래명세서 조회 로직 (`getStatement()`) - [x] 거래명세서 발행 로직 (`issueStatement()`) - [x] 거래명세서 이메일 발송 로직 (`sendStatement()`) - [x] **API 엔드포인트** (3개) - [x] `GET /v1/sales/{id}/statement` - 거래명세서 조회 - [x] `POST /v1/sales/{id}/statement/issue` - 거래명세서 발행 - [x] `POST /v1/sales/{id}/statement/send` - 거래명세서 이메일 발송 - [x] **Swagger 문서** - [x] `SaleApi.php` 확장 (거래명세서 관련 추가) - [ ] **테스트** - [ ] Feature 테스트 작성 - [ ] 수동 API 테스트 --- ## 🔨 Phase 6: D1.0 핵심 신규 개발 (예상 2-3주) > 신규 테이블 + API 전체 신규 구현 ### 6.1 악성채권 추심관리 ✅ > 슬라이드: 10-13 | 경로: 회계관리 > 악성채권 추심관리 > **완료일: 2025-12-19** (commit: c0af888) - [x] **테이블 생성** (3개) - [x] `bad_debts` 마이그레이션 (2025_12_19_160001) - [x] `bad_debt_documents` 마이그레이션 (2025_12_19_160002) - [x] `bad_debt_memos` 마이그레이션 (2025_12_19_160003) - [x] 마이그레이션 실행 및 검증 - [x] **모델 생성** (3개) - [x] `BadDebt` 모델 (BelongsToTenant, SoftDeletes) - 상태 상수: collecting, legal_action, recovered, bad_debt - 관계: client, assignedUser, creator, documents, memos - [x] `BadDebtDocument` 모델 - 문서 유형: business_license, tax_invoice, additional - [x] `BadDebtMemo` 모델 - [x] **서비스 구현** - [x] `BadDebtService` 생성 (307줄) - [x] 악성채권 등록/수정/삭제 로직 - [x] 상태 전이 로직 (추심중→법적조치→회수완료/대손처리) - [x] 요약 통계 (총 채권, 상태별 금액) - [x] 서류 첨부/삭제 로직 - [x] 메모 추가/삭제 로직 - [x] **API 엔드포인트** (11개) - [x] `GET /v1/bad-debts` - 악성채권 목록 - [x] `POST /v1/bad-debts` - 악성채권 등록 - [x] `GET /v1/bad-debts/summary` - 상단 요약 (총 채권, 상태별 금액) - [x] `GET /v1/bad-debts/{id}` - 악성채권 상세 - [x] `PUT /v1/bad-debts/{id}` - 악성채권 수정 - [x] `DELETE /v1/bad-debts/{id}` - 악성채권 삭제 - [x] `PATCH /v1/bad-debts/{id}/toggle` - 설정 ON/OFF - [x] `POST /v1/bad-debts/{id}/documents` - 서류 첨부 - [x] `DELETE /v1/bad-debts/{id}/documents/{docId}` - 서류 삭제 - [x] `POST /v1/bad-debts/{id}/memos` - 메모 추가 - [x] `DELETE /v1/bad-debts/{id}/memos/{memoId}` - 메모 삭제 - [x] **Swagger 문서** - [x] `BadDebtApi.php` 작성 (433줄) - [x] 스키마 정의 (BadDebt, BadDebtDocument, BadDebtMemo, Summary) - [ ] **테스트** - [ ] Feature 테스트 작성 - [ ] 수동 API 테스트 --- ### 6.2 팝업관리 ✅ > 슬라이드: 15-16 | 경로: 기준정보 > 팝업관리 > **완료일: 2025-12-19** - [x] **테이블 생성** (1개) - [x] `popups` 마이그레이션 ```sql -- popups (팝업) id, tenant_id, target_type, target_id, title, content, status, started_at, ended_at, options, created_by, updated_by, deleted_by, created_at, updated_at, deleted_at ``` - [x] 마이그레이션 실행 및 검증 - [x] **모델 생성** - [x] `Popup` 모델 (BelongsToTenant, SoftDeletes) - target_type: all, department - status: active, inactive - 활성 팝업 스코프 (기간 + 상태 체크) - [x] **서비스 구현** - [x] `PopupService` 생성 - [x] 팝업 CRUD 로직 - [x] 활성 팝업 조회 로직 (로그인 후 노출용) - [x] 기간 유효성 검사 로직 - [x] **API 엔드포인트** (6개) - [x] `GET /v1/popups` - 팝업 목록 (관리자용) - [x] `POST /v1/popups` - 팝업 등록 - [x] `GET /v1/popups/active` - 활성 팝업 목록 (사용자용) - [x] `GET /v1/popups/{id}` - 팝업 상세 - [x] `PUT /v1/popups/{id}` - 팝업 수정 - [x] `DELETE /v1/popups/{id}` - 팝업 삭제 - [x] **Swagger 문서** - [x] `PopupApi.php` 작성 - [ ] **테스트** - [ ] Feature 테스트 작성 - [ ] 수동 API 테스트 --- ## 📋 Phase 7: D1.0 게시판 연동 ✅ 완료 > **완료일: 2025-12-19** > 기존 Board 모델 활용, API 엔드포인트 추가 **기존 구성요소 (api 프로젝트):** - `Board` 모델: is_system, board_type, board_code, name, extra_settings - `BoardSetting` 모델: 커스텀 필드 정의 - `BoardComment` 모델: 댓글 - `Post` 모델: 게시글 ### 7.1 게시판관리 ✅ > 슬라이드: 17-18 | 경로: 기준정보 > 게시판관리 > **완료일: 2025-12-19** (기존 구현 활용) - [x] **기존 모델 확인/확장** - [x] `Board` 모델 확인 - [x] `BoardSetting` 모델 확인 - [x] 필요 필드 이미 존재 - [x] **서비스 구현** - [x] `BoardService` 존재 (테넌트별 게시판 CRUD 로직) - [x] **API 엔드포인트** (5개) - [x] `GET /v1/boards` - 게시판 목록 - [x] `POST /v1/boards` - 게시판 생성 - [x] `GET /v1/boards/{id}` - 게시판 상세 - [x] `PUT /v1/boards/{id}` - 게시판 수정 - [x] `DELETE /v1/boards/{id}` - 게시판 삭제 - [x] **Swagger 문서** - [x] `BoardApi.php` 작성 완료 --- ### 7.2 게시판 (사용자용) ✅ > 슬라이드: 3-7 | 경로: 게시판 > **완료일: 2025-12-19** - [x] **기존 모델 확인/확장** - [x] `Post` 모델 확인 - [x] 상단 노출 필드 (is_notice) - [x] 조회수 필드 (views) - [x] **서비스 구현** - [x] `PostService` 존재 - [x] 게시글 CRUD 로직 - [x] 상단 노출 로직 - [x] 조회수 증가 로직 - [x] 나의 게시글 조회 로직 ✅ 추가됨 - [x] **API 엔드포인트** (10개) - [x] `GET /v1/boards` - 게시판 목록 (탭용) - [x] `GET /v1/boards/{code}/posts` - 게시글 목록 - [x] `POST /v1/boards/{code}/posts` - 게시글 등록 - [x] `GET /v1/boards/{code}/posts/{id}` - 게시글 상세 - [x] `PUT /v1/boards/{code}/posts/{id}` - 게시글 수정 - [x] `DELETE /v1/boards/{code}/posts/{id}` - 게시글 삭제 - [x] `GET /v1/posts/my` - 나의 게시글 ✅ 신규 추가 - [x] `GET /v1/boards/{code}/posts/{id}/comments` - 댓글 목록 - [x] `POST /v1/boards/{code}/posts/{id}/comments` - 댓글 등록 - [x] `PUT /v1/boards/{code}/posts/{id}/comments/{commentId}` - 댓글 수정 - [x] `DELETE /v1/boards/{code}/posts/{id}/comments/{commentId}` - 댓글 삭제 - [x] **Swagger 문서** - [x] `BoardApi.php` 작성 완료 - [x] `PostApi.php` 작성 완료 --- ### 7.3 고객센터 → 게시판관리로 대체 ⏭️ > 슬라이드: 30-38 | 경로: 고객센터 **결정사항:** 고객센터 기능은 기존 게시판관리 시스템으로 구현 - 공지사항, 이벤트, FAQ, 1:1 문의 → 게시판 유형(board_code)으로 관리 - 별도 SupportAPI 불필요, 기존 Board/Post API 활용 --- ## 💼 Phase 8: D1.0 SaaS 확장 (예상 1-2주) > 기존 Plan/Subscription/Payment 모델 활용 ### 8.1 구독관리 ✅ > 슬라이드: 28 | 경로: 구독관리 > **완료일: 2025-12-22** (기존 구현 확인) **기존 구성요소:** - `Plan` 모델: name, code, price, features(json) - `Subscription` 모델: tenant_id, plan_id, started_at, ended_at, status - `DataExport` 모델: 데이터 내보내기 - [x] **서비스 확장** - [x] `SubscriptionService` 확장 (432줄) - [x] 현재 구독 정보 조회 로직 (`current()`) - [x] 사용량 조회 로직 (`usage()`) - [x] 자료 내보내기 로직 (`createExport()`, `getExport()`) - [x] 서비스 해지 로직 (`cancel()`) - [x] **API 엔드포인트** (5개 + 추가 6개) - [x] `GET /v1/subscriptions/current` - 현재 구독 정보 - [x] `GET /v1/subscriptions/usage` - 사용량 조회 - [x] `POST /v1/subscriptions/export` - 자료 내보내기 요청 - [x] `GET /v1/subscriptions/export/{id}` - 내보내기 상태 조회 - [x] `POST /v1/subscriptions/{id}/cancel` - 서비스 해지 - [x] `GET /v1/subscriptions` - 구독 목록 (추가) - [x] `POST /v1/subscriptions` - 구독 등록 (추가) - [x] `GET /v1/subscriptions/{id}` - 구독 상세 (추가) - [x] `POST /v1/subscriptions/{id}/renew` - 구독 갱신 (추가) - [x] `POST /v1/subscriptions/{id}/suspend` - 일시정지 (추가) - [x] `POST /v1/subscriptions/{id}/resume` - 재개 (추가) - [x] **Swagger 문서** - [x] `SubscriptionApi.php` 작성 (526줄) - [ ] **테스트** - [ ] Feature 테스트 작성 - [ ] 수동 API 테스트 --- ### 8.2 결제내역 ✅ > 슬라이드: 29 | 경로: 결제내역 > **완료일: 2025-12-22** (기존 구현 확인) **기존 구성요소:** - `Payment` 모델: subscription_id, amount, payment_method, paid_at, status - [x] **서비스 확장** - [x] `PaymentService` 확장 (357줄) - [x] 결제 내역 목록 조회 로직 (`index()`) - [x] 거래명세서 생성 로직 (`statement()`) - [x] 결제 요약 통계 (`summary()`) - [x] **API 엔드포인트** (2개 + 추가 6개) - [x] `GET /v1/payments` - 결제 내역 목록 - [x] `GET /v1/payments/{id}/statement` - 거래명세서 조회 - [x] `GET /v1/payments/summary` - 결제 요약 통계 (추가) - [x] `GET /v1/payments/{id}` - 결제 상세 (추가) - [x] `POST /v1/payments` - 결제 등록 (추가) - [x] `POST /v1/payments/{id}/complete` - 완료 처리 (추가) - [x] `POST /v1/payments/{id}/cancel` - 취소 (추가) - [x] `POST /v1/payments/{id}/refund` - 환불 (추가) - [x] **Swagger 문서** - [x] `PaymentApi.php` 작성 (455줄) - [ ] **테스트** - [ ] Feature 테스트 작성 - [ ] 수동 API 테스트 --- ### 8.3 회사 추가 ✅ > 슬라이드: 25-27 | 경로: 회사정보 > **완료일: 2025-12-22** - [x] **테이블 생성** (1개) - [x] `company_requests` 마이그레이션 ```sql -- company_requests (회사 추가 신청) id, user_id, business_number, company_name, ceo_name, address, phone, email, status, message, reject_reason, barobill_response(json), approved_by, created_tenant_id, processed_at, created_at, updated_at ``` - [x] 마이그레이션 실행 및 검증 - [x] **모델 생성** - [x] `CompanyRequest` 모델 - 상태 상수: pending, approved, rejected - 관계: user, approver, createdTenant - 스코프: pending(), approved(), rejected() - [x] **서비스 구현** - [x] `CompanyService` 생성 - [x] 사업자등록번호 유효성 검사 (바로빌 연동 + 체크섬 검증) - [x] 회사 추가 신청 로직 - [x] 신청 승인 로직 (테넌트 자동 생성 + 사용자 연결) - [x] 신청 반려 로직 - [x] 신청 목록 조회 (관리자용/사용자용) - [x] **API 엔드포인트** (7개) - [x] `POST /v1/companies/check` - 사업자등록번호 유효성 검사 - [x] `POST /v1/companies/request` - 회사 추가 신청 - [x] `GET /v1/companies/requests` - 신청 목록 (관리자용) - [x] `GET /v1/companies/requests/{id}` - 신청 상세 - [x] `POST /v1/companies/requests/{id}/approve` - 승인 - [x] `POST /v1/companies/requests/{id}/reject` - 반려 - [x] `GET /v1/companies/my-requests` - 내 신청 목록 - [x] **Swagger 문서** - [x] `CompanyApi.php` 작성 - [ ] **테스트** - [ ] Feature 테스트 작성 - [ ] 수동 API 테스트 --- ## 📋 기획 확인 필요 항목 > ⚠️ API 구현 전 비즈니스 로직 확정 필요 ### D1.0 신규 확인 필요 - [ ] 사용자 초대 시 권한 범위 (테넌트 단위 vs 전사) - [ ] 악성채권 자동 판정 조건 (연체일수 기준, 기본 90일?) - [ ] 팝업 노출 우선순위 (복수 팝업 시) - [ ] 서비스 해지 시 데이터 보관 기간 - [ ] 자료 내보내기 포맷 (Excel, CSV, JSON) - [ ] 상단 노출 게시글 최대 개수 (기본 5개) - [ ] 1:1 문의 상담분류 목록 (문의하기, 신고하기, 건의사항, 서비스 오류) ### 기존 확인 사항 (D0.8) - [ ] 테넌트: 신청→승인→만료→해지 전이 조건 - [ ] 전자결재→회계: 지출결의서 승인 시 출금 자동 생성? - [ ] 바로빌 API 비용 확인 --- ## 📝 작업 일지 ### 2025-12-19 - [x] D1.0 스토리보드 분석 완료 (38페이지) - [x] D0.8 대비 변경사항 식별 (신규 8개, 수정 4개) - [x] D1.0 개발 계획 문서 작성 (Phase 5-8) - [x] 기존 코드베이스 분석 (Board, Plan, Subscription 모델 확인) - [x] Phase 6.1 악성채권 추심관리 API 개발 완료 (commit: c0af888) - [x] Phase 6.2 팝업관리 API 개발 완료 - [x] Phase 7.1 게시판관리 - 기존 구현 확인 완료 - [x] Phase 7.2 게시판(사용자용) - 기존 구현 확인 + `/posts/my` API 추가 (commit: c15a245) - [x] Phase 7.3 고객센터 → 게시판관리로 대체 결정 - [x] Phase 8 SaaS 확장 분석 시작 ### 2025-12-22 - [x] Phase 8.1 구독관리 - 기존 구현 확인 완료 - [x] Phase 8.2 결제내역 - 기존 구현 확인 완료 - [x] Phase 8.3 회사 추가 API 개발 완료 (commit: 7781253) - company_requests 테이블 생성 - CompanyRequest 모델 생성 - CompanyService 생성 (바로빌 연동 + 테넌트 생성) - 7개 API 엔드포인트 구현 - Swagger 문서 작성 - [x] Phase 5 전체 기존 구현 확인 완료 - 5.1 사용자 초대: 5개 API (invite, invitations, accept, cancel, resend) - 5.2 알림설정: 3개 API (notification-settings, update, bulk) - 5.3 계정정보: 4개 API (withdraw, suspend, agreements) - 5.4 매출 거래명세서: 3개 API (statement, issue, send) - [x] D1.0 Phase 5-8 전체 API 개발 완료! --- ## ✅ 완료 기준 ### Phase 5 완료 조건 (기본 확장) ✅ - [x] 사용자 초대 API 구현 완료 ✅ 2025-12-19 - [x] 알림설정 API 확장 완료 ✅ 2025-12-19 - [x] 계정정보 API 확장 완료 ✅ 2025-12-19 - [x] 매출 거래명세서 API 구현 완료 ✅ 2025-12-19 - [x] Swagger 문서 완성 ✅ 2025-12-19 - [x] Pint 코드 포맷팅 완료 ✅ ### Phase 6 완료 조건 (핵심 신규) - [x] 악성채권 추심관리 전체 구현 ✅ 2025-12-18 - [x] 팝업관리 전체 구현 ✅ 2025-12-19 - [x] 마이그레이션 검증 완료 - [x] Swagger 문서 완성 ### Phase 7 완료 조건 (게시판 연동) ✅ - [x] 게시판관리 API 구현 완료 ✅ 2025-12-19 - [x] 게시판 (사용자용) API 구현 완료 ✅ 2025-12-19 - [x] 고객센터 → 게시판관리로 대체 결정 ✅ 2025-12-19 ### Phase 8 완료 조건 (SaaS 확장) ✅ - [x] 구독관리 API 구현 완료 ✅ 2025-12-22 - [x] 결제내역 API 구현 완료 ✅ 2025-12-22 - [x] 회사 추가 API 구현 완료 ✅ 2025-12-22 - [x] 자료 내보내기 기능 구현 ✅ (SubscriptionService에 포함) ### 전체 완료 조건 - [ ] 모든 D1.0 API 구현 완료 (~71개) - [ ] Swagger 문서 100% - [ ] 통합 테스트 통과 - [ ] 프론트엔드 연동 준비 완료 --- ## 🔗 관련 링크 - **기존 개발 계획**: [`erp-api-development-plan.md`](./erp-api-development-plan.md) - **API Swagger UI**: http://sam.kr/api-docs/index.html - **개발 공통 정책**: [`../guides/PROJECT_DEVELOPMENT_POLICY.md`](../guides/PROJECT_DEVELOPMENT_POLICY.md) - **D1.0 스토리보드**: [`SAM_ERP_Storyboard_D1.0_251218/`](./SAM_ERP_Storyboard_D1.0_251218/)