/serverless-graphql-workshop

Serverless GraphQL Workshop (13 July 2019) @ AWSKRUG Serverless Group

Primary LanguageTypeScript

서버리스 GraphQL 워크샵 🔨

서버리스 GraphQL 워크샵에 오신 여러분을 환영합니다!

이 워크숍은 기존에 GraphQL에 대한 배경이 없는 분들을 위해 준비되었습니다. GraphQL 백엔드에 대한 가장 기초적인 핵심 개념을 담았으며, 실제 Production에서 사용되는 도구들을 소개하며 Production 레벨에서의 GraphQL이 가진 핵심 가치가 무엇인지 배우고, 따라할 수 있는 시간을 가집니다.

본 워크샵은 AWSKRUG 서버리스 모임이 주최합니다. 참가신청

🖋 Written with 🔥 by Tony

이런 기술 스택이 사용되었어요 🧐

언어 및 환경

API 서버

Data Loader + ORM

Database

Web Client

기타

미리 준비해주세요

0. 본 Github Repository를 본인의 컴퓨터에 복사해주세요

중간중간 실습에 필요한 파일들이 업로드 되어있습니다. 세션 시작 전 미리 다운 받아주세요.

  • .zip 파일로 다운로드
  • 또는
    $ git clone https://github.com/tonyfromundefined/serverless-graphql-workshop

1. PC 또는 Mac

본 세션은 코딩 과정이 포함되어 있습니다. 또한 CLI(Command Line Interface) 조작이 꼭 필요합니다. 모바일 환경(iPhone, iPad, Android)에서는 진행이 불가능하니 꼭 PC/Mac 환경에서 진행하세요.

2. AWS 계정

본 가이드는 한명이 하나의 AWS 계정을 사용한다고 가정합니다. AWS API Gateway, Lambda, ECS, RDS, S3, CloudWatch에 접근할 수 있어야 하며, 다른 사람과 계정을 공유하게 되면 특정 리소스에 대해 충돌이 발생 할 가능성이 있으므로 권장하지 않습니다.

[중요] 본 워크샵에서 사용하는 'AWS Fargate' 서비스는 과금됩니다. 실습이 끝나고 바로 삭제하세요.

AWS Fargate를 제외한 본 워크샵의 일환으로 시작하는 모든 리소스는 AWS 계정이 12개월 미만인 경우, 제공하는 AWS 프리티어로 충분히 가능합니다. 단, 사용량이 프리티어를 넘어서는 경우, 과금 될 수도 있습니다. 따라서, 새로운 실습용 계정을 만드시길 권장합니다. 자세한 내용은 AWS 프리 티어 페이지를 참조하세요.

3. 웹 브라우저

Internet Explorer는 AWS Web Console에서 문제가 발생할 수 있습니다.

4. 텍스트 에디터

본 실습 세션에는 실제 코딩이 포함됩니다. 세션 발표자는 VS Code를 사용하니, 코딩에 익숙하지 않으신 분은 따라하기 쉽도록 환경을 동일하게 설정해주세요.

5. Node.js

자 그럼 이제 시작해볼까요?

  1. GraphQL 살펴보기
    1. GraphQL이란?
    2. GraphQL Type 시스템과 Query, Mutation Type
    3. Nexus로 시작하는 Code-First GraphQL 개발
    4. GraphQL Playground
    5. Task 타입과 쿼리, 뮤테이션 만들기
  2. Serverless로 GraphQL API 배포하기
    1. IAM 사용자 생성하기
    2. Serverless Framework을 사용해 Node.js 프로젝트 배포하기
  3. AWS에 Prisma 배포하기 (CloudFormation)
  4. Prisma 사용하기
    1. Prisma란?
    2. Prisma 시작하기
    3. Prisma Client 사용해보기
    4. nexus-prisma를 사용해, Prisma 연결하기
  5. React.js에서 GraphQL API 사용하기
  6. 삭제하기
    1. API 배포 삭제하기
    2. CloudFormation Stack 삭제하기
    3. IAM 사용자 삭제하기

할 일

Feature Request를 원하시면, 새 이슈를 생성해주세요. 또한, Pull Request는 언제나 환영입니다.🙏

  • macOS
  • Windows
    • CMD
    • Powershell
    • WSL Bash

Cheatsheets