Closed sungyongcho closed 2 years ago
슬랙콜에서 공유 한것처럼, 추가적으로 monorepo 방식 구현 테스트를 진행 해 보았습니다.
library라는 경로 내에 entity를 복사 하면 그대로 공유자원을 사용할 수 있다고 생각했으나, 두 application에서 공유되는 자원을 사용 할 경우, 리소스를 사용하기 위한 모듈 생성 이후, 해당 모듈을 각 application 모듈에서 생성하는 형태의 추가 작업이 필요합니다.
monorepo 분리 작업을 진행 할 경우, 현재 작성한 코드에서 추가적인 작업에 상당히 많은 시간이 소요 될것으로 보입니다.
번역된 공식문서 공유드립니다 https://docs.nestjs.kr/cli/monorepo
Admin 로그인 / 회원가입 기능 구현 테스트 도중 프론트엔드 서버에서 백엔드서버로 접속 하였을 때, 사용하지 않는 '세션 스토리지' 와 '로컬 스토리지' 가 활성화 되는 것을 확인 했습니다.
src/main.ts
에서 전체 어플리케이션을 대상으로 express-session을 실행하고 passport session 실행이 적용 되기 때문인데,이를 방지하기 위해 단일 서버에서 여러개의 서비스를 분리하는 형태의 작업이 필요하지 않을까 라는 리서치를 하던 도중 아래 링크의 자료를 찾게 되었습니다.
정리 해 보면, 지금 팀의 상황에서 게임 어플리케이션과 Admin 어플리케이션의 분리가 필요하다면 아래의 방법을 이용하여 동일한 프로젝트에 개별 어플리케이션을 구성하는 방법으로 보입니다 https://docs.nestjs.com/cli/monorepo
혹은 동일 어플리케이션 위에 monorepo를 분리 하기 전, 개별 Application 구성 후, 포트번호를 다르게 가져나, url을 다르게 설정하는 방법이 있는것 같습니다
일단 두 방법 다 가능은 하고, 작업에 시간이 조금 걸릴 것 같습니다. monorepo 구성 방법 이외 application을 분리 방법을 테스트 해 보았는데, endpoint들을 못 읽어들이고 있었습니다.
monorepo가 지금 상황에 맞게 나온 기능처럼 보여, 파일 분리 이전 작업도 생각보다 간편한것 같아 보입니다
기존 설정값들을 재활용(copy & paste)로 간략하게 가져갈 수 있을 것 같습니다. 단점은 현재 어플리케이션 구조를 벗어 나기 때문에 각자가진행하고 있던 작업을 전부 모은 이후 application 분리 작업이 필요합니다.