제누이오라는 회사에서 한달동안 기업협업 프로젝트를 진행하면서 NestJS를 사용하여 백엔드 API를 구현하게 되었습니다. NestJS라는 Framework가 어떤 특성을 지니고 있고, 어째서 유망한 Fremework인지 공부해봤습니다. What is NestJS?
NestJS의 Account C.R.U.D를 통해 기본 구조와 사용법을 알아봅시다.npm new (project name) 을 통해 기본 프로젝트를 생성합니다.Nest Cli를 사용하면 새 프로젝트를 설정하거나 Controller, Module 등을 생성하는 것이 매우
지난 시간에 NestJs Project 설정 및 Database 연결, Entity & Repository를 작성했습니다. 이제 Service와 Controller를 작성하여 C.R.U.D를 구현해봅시다.DTO란 Data Transfer Obejct의 약자로 Data를
Account C.R.U.D를 구현해봤으니, 이제 유효성 검사와 비밀번호 암호화를 통해 회원가입 기능을 구현해봅시다.
회원가입 기능을 구현했으니, JWT를 사용한 사용자의 로그인 서비스를 구현해봅시다.
지난 시간에 User의 정보가 포함된 JWT를 발급하는 Account Login 기능을 구현해봤습니다.
지금까지 User라는 하나의 Entity만 사용하여 ORM을 처리했습니다. 이제 User와 OneToMany 관계인 Product Entity를 생성하여 Validated 사용자가 Product Entity를 생성하고 정보를 조회하는 기능을 구현해보겠습니다.
본격적으로 NestJS를 사용하는 프로젝트를 진행하면서 복잡한 Query를 구현해야 하는 경우가 생겼습니다. 이에 따라 TypeORM이 제공하는 QueryBuilder를 사용하여 SQL Query를 구현하는 방법에 대해 공부해봤습니다.
TypeORM을 활용한 API 구현에 이어서 이번엔 NestJS에서 TypeOrm을 활용한 Transaction에 대해 알아보겠습니다.
지금까지는 NestJS Framework가 제공하는 다양한 기능을 적용하여 API를 구현했습니다. 기능 구현도 중요하지만, Unit Test는 기능을 갖춘 Software의 필수 부분입니다.
이번엔 QueryBuilder와 Transaction을 활용하는 경우 Unit Test를 어떻게 작성하는지 살펴보도록 하겠습니다.
지금까지 API에 대한 Access Control은 JWT를 활용하여 사용자의 로그인 여부를 확인하는 것이었습니다.
Project 규모가 커질수록 Endpoint와 REST API 수가 많아지며, API 문서화가 제대로 되지 않는다면 협업에 문제가 발생할 여지가 많습니다. 이번 시간에는 NestJS가 제공하는 Swagger Documentation Generator를 이용하여 API