울면서개발하기
VERA ERP 개발일지

VERA 저장소 시작 — 레거시 ERP 를 새 이름으로 옮기고 로컬 실행 맞추기

· 커밋 5개

VERA 를 시작한 날이다. 기존 넥사크로 ERP 코드와, 그것을 Vue 3 로 다시 짓던 작업물을 한 저장소로 모으고 이름을 VERA 로 바꿨다. 기능을 만든 날이라기보다 앞으로 작업할 바탕을 깔아 둔 날이다.

한 일

저장소 구성

저장소 하나에 두 세대를 함께 둔다.

구분 화면 서버
AS-IS (레거시) 넥사크로 17 Spring Boot 2.2 (WAR, MyBatis)
TO-BE (새 버전) Vue 3 + Vite + TypeScript + Pinia Spring Boot 3.3 (Java 17)

TO-BE 서버는 레거시의 MyBatis 매퍼 XML 을 복사하지 않고 파일로 직접 읽는다. 업무 SQL 을 한 곳에서만 고치기 위해서다. DB 도 두 버전이 함께 쓴다(MySQL 과 Oracle).

옮기면서 코드와 설정의 옛 이름은 모두 VERA 로 바꿨고, 리포트 양식(Jasper)은 원본 .jrxml 에서 다시 컴파일했다.

비밀값은 소스 밖으로

DB 비밀번호, 외부 API 키, SSO 비밀값, 암호화 passphrase, 리포트 서버 계정 같은 값은 설정 파일에서 모두 ${SECRET_*} 참조로 바꿨다. 실제 값은 git 에서 빠진 로컬 설정 파일과 서버 환경 변수에만 둔다.

암호화 passphrase 는 값을 바꾸지 않았다. 바꾸면 이미 암호화돼 저장된 데이터를 풀 수 없기 때문이다. 소스에서 빼기만 했다.

로컬 실행이 도커 DB 에 붙도록

레거시와 TO-BE 모두 로컬 개발 프로필이 DB 기본 포트를 바라보고 있어서, 도커로 띄운 DB 에 붙지 못했다. 두 쪽 개발 프로필의 접속 주소를 도커가 여는 포트로 맞췄다. 운영 컨테이너는 compose 환경 변수로 덮어쓰므로 영향이 없다.

그 밖

  • 새 세션이 먼저 읽을 프로젝트 안내 문서를 더했다(구성, 지킬 것)
  • 프로젝트 폴더를 정리하면서 바뀐 경로를 문서에 반영했다