[강의 수강] NomadCoder NestJS로 API 만들기 #0
들어가며
원래 파이어베이스를 사용하기로 했던 코촉촉 팀 ERD를 대충이나마 생각해놓고 구현하기 위해 그려봤다.
다른 부분은 크게 어려움이 없었는데, 채팅 부분에 대해 연관성이 너무 높았다.
테이블 최소 4개여서 파이어베이스만으로는 구현이 불가능했다.
노선을 바꿔 백엔드를 구축해야겠다는 생각을 했고 그 과정은 아래 글에 작성할 예정이다.
아무튼 그래서 NodeJS도 있는데 NestJS를 공부해야겠다 생각한 이유는 구조가 짜여져있다는 점이 컸다.
express의 경우 자유도가 높아 초기 빌드가 쉬울 수 있지만, 그 부분이 오히려 막막하게 느껴져서 구조가 고정되어있는 NestJS를 선택했다.
한 번 사용하는 방법을 익히고 나면 금방 다른 부분에 대해서도 응용할 수 있을 것 같아서 오히려 전체 개발 속도가 빠를 것 같다.
정리한 내용
NestJS?
NestJS => node.js 위에서 동작하는 프레임워크, node.js에 백엔드를 구현할 수 있게 해줌
node.js 위에서 동작한다 === express 위에서 동작한다.
express는 모든 node.js 어플리케이션의 초석임
구조가 특이함 node.js에도 없는 구조를 가짐
node.js는 자율성이 높음. 장점이자 단점.
nest.js는 OOP, 함수지향, 함수 반응형까지 지원해줌
이 강의는 nest.js로 Rest-api 만들고, 만든 api 테스트까지 할 예정
nest.js는 모조리 typescript 기반
API 테스트를 위해 아래의 도구를 사용할 예정
NestJS install
npm install -g @nestjs/cli
명령어로 nest를 설치해주면 된다.
원래라면 잘 설치되야 했겠지만. 내 맥북은 그럴 생각이 없나보다...
https://let-d0-study.tistory.com/entry/nestjscli-EACCES-ERROR-command-not-found-nest
우여곡절 끝에 해결!
Nest 프로젝트 생성하기
Nest를 설치하고 프로젝트를 생성하기 위해 nest new [프로젝트명] 을 입력해주었다.
그런데...
https://let-d0-study.tistory.com/entry/Failed-to-execute-command-npm-install-silent-ERROR
말을 줄이겠습니다... 휴
그래도 정말정말 우여곡절 끝에 Nest 프로젝트를 생성했다!