지금까지 NestJS로 API를 만들고 PostgreSQL과 Prisma를 연결해보았습니다. 이번 주에는 코드당 Backend의 Client와 Admin을 살펴보고, Admin API에서 사용하는 GraphQL을 공부합니다.

공부할 내용 📚

1. 코드당 Backend의 Client와 Admin

코드당 Backend 를 둘러보며 Client와 Admin이 각각 어떤 사용자를 대상으로 하고, 어떤 기능을 담당하는지 살펴보세요.

2. GraphQL

REST API와 GraphQL의 차이를 알아보고, GraphQL의 Query와 Mutation이 각각 어떤 작업에 사용되는지 살펴봅니다. 이어서 Schema, Type, Resolver의 역할을 공부하세요.

  • GraphQL 소개: GraphQL이 무엇인지, 클라이언트가 필요한 필드를 선택해 요청하는 방식을 살펴보세요.
  • 쿼리 & 뮤테이션: Query와 Mutation의 형태를 확인해보세요.
  • 스키마 & 타입: Schema에서 API의 타입과 필드를 어떻게 정의하는지 살펴보세요.

NestJS에서는 TypeScript 클래스와 데코레이터를 이용해 GraphQL Schema를 생성하는 Code First 방식을 사용할 수 있습니다. Code First와 Schema First의 차이를 살펴본 뒤, @ObjectType(), @InputType(), @Field()와 Resolver가 각각 어떤 역할을 하는지 알아보세요.

코드당 개발환경 확인 🛠️

코드당 개발환경 설정 가이드 와 멘토가 보내주는 링크를 참고하여 저장소를 clone하고 Dev Container를 열어보세요. Docker와 VS Code의 Dev Containers 확장이 필요합니다.