2026.02 – 현재 · DigitalPresso

RenameDP General 백엔드

건설 현장 관리 SaaS 백엔드 단독 설계·구현

BackendCloudJava 21Spring Boot 3.5JPAQueryDSLPostgreSQLTestcontainersMapStructWebSocket (STOMP)Gradle Convention PluginAWS S3AWS LambdaAWS SESAWS CognitoFCM
기여
백엔드 단독 1,963커밋
규모
Gradle 모듈 33개 · 테스트 396개
구조
5계층 멀티모듈

개요

  • 전기·건설 현장 관리 SaaS
  • 도메인: 조직 · 프로젝트 · 도면 · 출역 · 작업 · 안전 점검(TBM) · 시공 기록 · 하자 요청 · 작업일보 · 실시간 채팅
  • 역할: 백엔드 전체 단독 설계·구현

설계 원칙

  • 엔티티·도메인 서비스·port는 core 모듈에만 배치
  • 도메인 단위 모듈 확장 (core-organization, core-safety, core-construction-record 등)
  • 기술 구현은 infra 모듈로 격리 (persistence · auth · S3 · FCM · PDF · 엑셀 등)
  • Gradle Convention Plugin으로 모듈 규칙 통일
  • Testcontainers PostgreSQL 기반 영속성 테스트
  • springdoc-openapi + Scalar API 문서 자동 배포

주요 경험

프로젝트 생성 흐름을 화면과 API 병합 단계에서 맞추기

  • 상세: /experiences/renamedp-general-backend/posts/project-creation-flow-alignment
  • 초기 백엔드는 기본정보 저장 후 작업 구조와 인원을 순차 등록하는 흐름으로 이해했다. 사용자 진술에 따르면 프론트엔드와 API를 병합할 때 최종 저장 한 번으로 등록하는 기획과 차이를 발견했다.
  • 본인은 프로젝트 기본정보 저장·작업 구조 등록·인원 배정의 세 호출을 하나의 통합 생성 요청으로 묶는 설계를 다시 구현했다고 진술했다. 세 호출의 대상은 2026-09-17 후속 답변으로 확인했다. 2026-03-27 커밋에서 통합 요청과 단일 트랜잭션 UseCase를 확인했다. 기존 개별 API 전체 삭제는 확인되지 않았다.
  • 화이트보드로 이후 화면·데이터 흐름을 맞추고 시행착오를 줄였다는 내용은 자기소개서의 사용자 진술이다. 구체적인 반복 사례와 효과는 추가 확인이 필요하다.
  • 관련 역량: 협업, 요구사항 해석, API 설계. 상태: draft. NH농협은행 2026-09 자기소개서 1번에 사용.

체험판 제안에서 무료 제공의 의미가 엇갈린 경험

  • 상세: /experiences/renamedp-general-backend/posts/trial-sales-communication
  • 주요 개발 후 초기 사용자 확보를 위해 팀은 약 3일의 체험 기회와 데모 데이터, 사용법, Arcade 안내, 미팅 일정 장치를 세일즈 이메일에 함께 담는 방안을 제안했다. 데모 데이터는 본인이 생각한 요소다. 본인은 Fable model에 LH 후보 도면 파일을 직접 입력해 일반적인 스타일을 분석하고 그 결과를 재사용 가능한 skill로 만든 뒤 체험용 도면 데이터를 생성할 계획이다. 구체적인 도면 배치는 사용하지 않겠다고 밝혔다. LH 게시글에는 승인 없는 사용·배포 제한이 있어 원본 입력의 허용 여부를 확인해야 하며, 분석·생성 결과는 아직 없다.
  • 팀의 의도는 잠재 고객이 제품을 직접 써 보며 이해하도록 하는 것이었다. 논의 중 '프리티어'가 장기간 무료 제공으로 해석되어 피드백 질에 관한 우려가 제기됐다. 실제 전달 문구는 중간에서 소통한 팀원이 맡아 본인은 직접 확인하지 못했다.
  • 팀은 3일 체험의 취지와 유료 사용의 관계를 다시 명확히 전달하려고 한다. 현재 제안 단계로 후속 전달, 합의, 발송, 체험 운영, 고객 반응은 미확인이다. 관련 역량: 협업, 소통, 제품 관점. 상태: draft. 근거: 2026-09-18 사용자 진술.

일반 문서 ZIP 다운로드 성능·안정성 실험 (2026-10-11)

로컬 공사대장 200건에서 SQL보다 PDF 폰트 반복 처리와 긴 연결 점유가 문제임을 계측했다. 같은 조건에서 폰트 재사용으로 전체 수신 15.416→1.896초, 별도 트랜잭션 단축으로 DB 연결 점유 1.865초→29ms를 확인했다. 이후 순차 압축·임시파일·완성 ZIP 전송, 고정 자원 동시성, PDF별 직접 전송을 비교했다. 직접 전송의 빠른 시작과 취소 대응 이점에도 150번째 생성 실패에서 HTTP 200 미완성 ZIP이 도착해 prepared 기본값을 유지했다.

각 단계의 기대·실측·얻은 점·비용·다음 판단을 상세 포스트에 기록했다. 로컬 합성 실험이며 운영 배포 성과가 아니다. 클라이언트 ZIP 검증과 서버 동시 생성 제한은 미구현이다.

  • 상세: /experiences/renamedp-general-backend/posts/document-zip-performance-streaming-tradeoffs
  • 위키 실험 기록

Posts

Portfolio | jwsong