현재 팀이 2명인 작은 프로젝트의 백엔드 구축을 하고있습니다.
JS를 기반으로 둔 프론트 업무를 많이 보다보니
교육 때 배웠던 Spring으로 구축하는게 부담이 되더군요.
백엔드도 탄탄하게 구축을 해야하겠지만
같이 프로젝트를 하는 동료 (프론트)를 위해 한 시 바삐 구축을 해야하는 상황이어서
다음과 같은 조건을 달아놓고 스택을 탐색했습니다.
리서칭 도중 쏟아지는 라이브러리에 눈이 돌아갔지만
최대한 안정성과 러닝커브를 고려하고 나니 다음과 같은 스택이 결정되었습니다.
핵심은 RDBMS와 직접적인 연결을 도와주는 sequelize와
기존 DB에 정의 되어있는 테이블, 컬럼의 모델을 생성해주는 sequelize-auto였습니다.
옵션에 따라 Typescript 파일로도 생성할 수 있기때문에 아주 맘에들었습니다.
Spring에서 겪었던 모델정의의 압박을 생각하니 아주 효자같은 녀석이었습니다.
(거대한 프로젝트에서 사용할 경우 발생될 사이드이펙트 예상이 잘되지 않기 때문에
채택이 좀 꺼려질 것 같긴합니다)
실행된 작업 순서는 다음과 같습니다
모델도 두 개, 라우터도 CRUD를 포함한 라우터 두 개를 만들고 적용해본 결과
괜찮게 돌아가는 것 같습니다.
Swagger를 정의해본 적이 없어, Swagger 작성에 어려움을 겪고 있지만
현재 시점의 요는 API들이 훌륭하게 잘 작동하고 있다는 것이겠지요.
앞으로 예정된 작업으론 JWT 적용 등이 남았겠네요