5.6 KiB
인수인계 문서 인덱스 (qcast-api)
작성일: 2026-05-06 대상: 후임 AI 엔지니어 또는 개발 관리자 작업 브랜치:
dev_ysCha
0. 이 폴더는 뭔가요?
qcast-api 프로젝트(태양광 시스템 QCAST의 백엔드 API)의 트랙별 인수인계 문서가 모여 있습니다. 한 파일에 다 넣으면 너무 길고 영역이 섞여서 보기 어렵기 때문에 4개 트랙으로 분리했습니다.
읽는 순서: 위에서부터 차례로. 출력(Excel/PDF) 트랙이 가장 양이 많고 손댈 일도 많으니 먼저 읽으세요.
참고: 이 프로젝트는 중간 서버입니다. 구조는
QSP API → qcast-api → qcast-front입니다. "다른 팀 서버에 알려야 한다" 가 아니라 여기서 직접 DTO/로직을 고치면 됩니다.
1. 트랙별 문서
OUTPUT_HANDOVER.md ★ 가장 자주 손댐
견적서 / 발전시뮬레이션 / Excel·PDF 출력 트랙. 견적서·중량·구조도·계통도 등의 Excel/PDF 출력 관련 작업이 가장 많은 영역입니다. 정렬·파일명·이미지·전각문자·도면 비율 등 출력물에서 보이는 거의 모든 것이 여기에 모입니다.
핵심 키워드: 견적서 / 발전시뮬레이션 / Excel(jxls+POI) / PDF(iText html2pdf) / 정렬 / 파일명 포맷 / 전각문자 / 도면 비율 / ®→Ⓡ→(R) / 폰트
DTO_MIDDLE_SERVER_HANDOVER.md
중간 서버 DTO 변경 트랙. QSP API 응답 또는 프론트 요청 스키마가 바뀌면 qcast-api DTO를 통과해야 하므로 DTO 수정이 필수입니다. 통보문만 주고 미루면 다음 날 같은 일을 또 하게 됩니다.
핵심 키워드: 중간 서버 / DTO 수정 / moduleTpCd / subModuleTpCd / Cross Mix / addresseeCompanyName 50자 / selectParentAgentInfo
AUTH_ERROR_HANDOVER.md
인증 / 로그인 추적 / 에러 저장 API 트랙.
자동 로그인·로그아웃 동작 추적, 클라이언트 에러를 백엔드에 저장하는 errSave/quotationErrSave API.
핵심 키워드: 로그인·로그아웃 추적 / 자동 로그인 추적 / errSave / quotationErrSave / itemList null 체크
DOMAIN_HANDOVER.md
도메인 기능 트랙 (BOM / 권한 / 발전시뮬레이션 API / 우편번호 / 배치 등). 출력·DTO·인증 외 나머지 도메인 작업 전반. [1xxx] 티켓 시리즈와 새로 추가된 API들.
핵심 키워드: BOM 부모/자식 / 오브젝트 복사 권한 / 발전시뮬레이션 물건번호 API / 우편번호 하이픈 / 배치(Batch) / Quartz / 인증용량 쿼리 / [1xxx] 티켓
2. 같이 봐야 하는 자료
메모리 인덱스
- 위치:
~/.claude/projects/-Users-cha-Works-Projects-qcast3-qcast-api/memory/MEMORY.md - 작업 시 지켜야 할 사용자(Cha) 작업 스타일이 들어 있습니다.
- 작업 시작 전에 반드시 통독하세요.
커밋 로그 (자동 누적, 2026-05-06~)
- 위치:
~/.claude/projects/-Users-cha-Works-Projects-qcast3-qcast-api/memory/commit_log.txt - 본 저장소의
.git/hooks/post-commit훅이 매 커밋 직후 한 줄 append 합니다. - 형식:
YYYY-MM-DD HH:MM:SS [브랜치] short(fullhash) 커밋제목 - 인수인계서/리뷰에 해시를 인용해야 할 때 우선 참조. 푸시 여부는 기록되지 않으므로 별도 확인.
사내 자료 (참고)
- 자바 코드 스타일:
doc/eclipse-java-google-style.xml - 자매 프로젝트 인수인계:
qcast-front/docs/HANDOVER_INDEX.md(프론트 영역의 결정 사항이 백엔드 동작 이해에도 필요할 때 참조)
3. 인수받은 직후 추천 절차
- 이 인덱스 통독 (5분).
- 메모리
MEMORY.md통독 — 사용자 스타일 / 중간 서버 원칙 / 커밋 메시지 규칙 (5~10분). OUTPUT_HANDOVER.md통독 — 가장 자주 손대는 영역 (20~30분).- 나머지 3개 트랙 문서는 필요할 때 펼쳐 보는 레퍼런스 로 사용.
pom.xml/application.yml/ 매퍼 폴더 구조를 한 번 훑어 패키지 구성을 머리에 넣기.
4. 핵심 원칙 3줄 요약
이 프로젝트에서 일을 한다면 적어도 이 3개는 머리에 두세요.
- 중간 서버다. QSP/프론트 스키마가 바뀌었다는 정보를 받으면, 통보만 하지 말고 그 자리에서 DTO를 직접 수정.
- 출력물(Excel/PDF)은 양쪽을 따로 본다. Excel은 jxls/POI, PDF는 iText html2pdf — 같은 견적서라도 두 곳을 동시에 고쳐야 함.
- 작업 끝나면 한국어 한 줄 커밋 메시지를 함께 제시한다. (단, AI가 직접
git commit하지 말 것, 사용자가 직접 커밋함.)
5. 기술 스택 한눈에
| 항목 | 내용 |
|---|---|
| 언어 | Java 17 |
| 프레임워크 | Spring Boot 3.3.0, Maven |
| DB 접근 | MyBatis 3.0.3 (XML 매퍼: src/main/resources/mappers/) |
| 데이터베이스 | MSSQL Server (DB명: NEWPVCAD) |
| 보안/암호화 | Spring Security, Jasypt |
| 외부 API 호출 | OpenFeign |
| Excel | Apache POI / jxls |
| iText html2pdf | |
| API 문서 | Springdoc OpenAPI (Swagger UI) |
| 스케줄러 | Spring Batch + Quartz |
패키지 구조: com.interplug.qcast.biz.{도메인} 안에 Controller / Service / Mapper / DTO.
6. 브랜치 전략
main— 운영 (PR 대상은 보통 여기)dev— 개발 통합dev-deploy— 개발 서버 배포용dev_ysCha— 담당자 개인 작업 브랜치 (현재 체크아웃)hotfix/9999— 긴급 수정용feature/{이름이나 번호}— 기능별 브랜치
끝.