Motivation Vue를 통해서 현재 두 가지 서비스의 프론트엔드 개발을 하고 있습니다. 추가적으로 신사업도 개발하게 될 것 같고 N개의 서비를 운영하게되겠죠 이렇게 개발해야하는 상황에서 공통기능 (컴포넌트, 유틸, 상수값 등)에 대해 어떻게 유지해야할지 고민하게 되었습니다. 1. 패키지 저장소를 구성하고 하여 관리하는방식 2. 하나의 저장소를 모노레포 구조로 구현하여 공통소스를 공유하는 방식 versioning을 해야하는 상황이고 관리할만한 인력과 환경이라면 1번 케이스가 베스트라고 생각했습니다. 하지만 고민해본 결과 당장 versioning을 해야하는 상황도 아니고 버전별로 관리하고 운영하게 더 어렵다는 생각이 들어서 MonoRepo 구조로 개발하기로 하였습니다. 구성 과정 모노레포 구조로 개발하..
드디어 3, 4 개월만에 톰캣으로 서비스하던 프론트엔드 서비스 대부분을 Amplify로 전환했습니다. 그동안 테스트를 작성하면서 많은 고민을 했습니다... 제스트 기반으로 공통모듈을 테스트하고 있지만 배포과정에서 전체 테스트를 돌리는건 비효율적이라고 생각이 들어서 주요 기능에 대해서 E2E테스트를 작성해서 Amplify 배포 과정에서 테스트 되도록 하면 좋겠다는 생각이 들었습니다. 제가 운영하는 서비스에서 예약, 취소 관련 기능이 중요하여 E2E테스트를 작성하고 배포하기로 하였습니다 :) 우선 기존에 작성했던 예약관련 E2E테스트를 수정해서 배포하였고 나머지는 시간날때 마다 조금씩 추가 하려고 합니다. 테스트작성 보다는 세팅하는 부분이 까다로워서 세팅 부분을 공유 해보겠습니다~ 우선 배포가 완료되면 아래..
배경 저는 웹페이지도 개발하고 있지만 앱내에서 보여지는 주문, 예약관련 페이지도 개발하고 있습니다. 개발하고 있는 서비스는 Java 백엔드 기반으로 서비스 되고 있고 프론트엔드 배포를 위해서 백엔드도 같이 배포해야하는 문제가 있어 개선이 필요했습니다. 아무래도 프론트 개발은 수정요건이 자주 발생하고 이벤트성 개발도 있기때문에 개발, 배포과정이 비교적 짧은 경우가 많았습니다. 그런데 백엔드와 같이 배포하다보니 배포시간도 오래 걸리고 소스 관리 측면에서도 단점이 많았습니다. 그리고 백엔드 + 프론트서비스 2개로 구성되어 있는 모노레포 구조에서 프론트 서비스를 동시에 2개 서비스 하고 있기때문에 프론트 공통 모듈등을 잘못수정하여 배포한다거나 실수로 수정대상이 아닌 서비스를 잘못 수정하여 배포한다면 서비스에 장..