들어가며
원래 파이어베이스를 사용하기로 했던 코촉촉 팀 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 테스트를 위해 아래의 도구를 사용할 예정
The Collaborative API Development Platform
Leading Open Source API Development Platform for HTTP, REST, GraphQL, gRPC, SOAP, and WebSockets
insomnia.rest
NestJS install
npm install -g @nestjs/cli
명령어로 nest를 설치해주면 된다.
원래라면 잘 설치되야 했겠지만. 내 맥북은 그럴 생각이 없나보다...
https://let-d0-study.tistory.com/entry/nestjscli-EACCES-ERROR-command-not-found-nest
EACCES ERROR @nestjs/cli & command not found: nest
npm install -g @nestjs/cli 명령어로 nest를 설치해주려고 했다.근데 아래 이미지처럼 좌자작하고 에러가 나왔다. EACCES . 즉 권한 문제였다.처음에는 npm 캐시문제 인줄 알고 npm cache clean --force 명령어로
let-d0-study.tistory.com
우여곡절 끝에 해결!
Nest 프로젝트 생성하기
Nest를 설치하고 프로젝트를 생성하기 위해 nest new [프로젝트명] 을 입력해주었다.
그런데...
https://let-d0-study.tistory.com/entry/Failed-to-execute-command-npm-install-silent-ERROR
Failed to execute command: npm install --silent ERROR
분명 설치도 확인했고 이제 프로젝트를 만들려는데 갑자기 에러 뚜둥찾아보니까 23년부터 있던 kt 인터넷망과 관련된 이슈인거 같은데 왜 아직도...https://minyakk.tistory.com/26 [NestJS] Failed to execute co
let-d0-study.tistory.com
말을 줄이겠습니다... 휴
그래도 정말정말 우여곡절 끝에 Nest 프로젝트를 생성했다!