회사에서 사용하는 기술은 Express인데 오래된 코드를 리팩토링한다던지 다른 사람의 코드 오류를 고치다 보면 너무 높은 자유도와 개발자 각각의 개성때문에 느끼는 불편함이 많다. 중간에 개발 담당자가 바뀐다거나 한다면 코드 구조를 파악하는데 꽤 많은 노력이 필요하다고 느꼈다. 프레임워크자체에서 구조를 제한하고 강조하던 Spirng을 떠올리다가 관심을 가지게 된 것이 NestJS이다.
모듈: NestJs는 모듈성을 중요시하며, 응용 프로그램을 재사용 가능한 모듈로 나누어 구성하도록 설계되어 있다.
의존성 주입(DI): NestJs는 강력한 의존성 주입 시스템을 사용하여 클래스 간의 결합도를 낮추고 코드 재사용성을 높인다.
데코레이터: TypeScript 데코레이터를 통해 메타데이터를 추가하고, 간결하고 읽기 쉬운 코드를 작성할 수 있다.
테스트 용이성: NestJs는 응용 프로그램의 각 부분을 독립적으로 테스트할 수 있도록 지원하며, 유닛 테스트 및 통합 테스트를 쉽게 작성할 수 있다.
이러한 특징 덕분에 NestJs는 최신 웹 애플리케이션, 마이크로서비스, REST API, GraphQL API 등 다양한 서버 사이드 애플리케이션을 구축하는데 적합한 프레임워크이다.
이번에 새로 들어가게되는 프로젝트는 처음 설계부터 진행을 전부 혼자 하게되었다. 그래서 NestJS를 선택해서 작업을 해볼까한다.