Giter Club home page Giter Club logo

workshop-serverless-graphql's Introduction

서버리스 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

workshop-serverless-graphql's People

Contributors

geoseong avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

workshop-serverless-graphql's Issues

3. AWS에 Prisma 배포하기 (CloudFormation) Rollback Error

[내용]
CloudFormation에 템플릿을 입력하고 생성 과정을 따르면 제대로 생성되지 않음.

[사용한 정책 JSON]

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "iam:*",
                "apigateway:*",
                "s3:*",
                "logs:*",
                "lambda:*",
                "cloudformation:*"
            ],
            "Resource": "*"
        }
    ]
}

[오류 상태 ]

Screen Shot 2019-07-13 at 10 54 48

[특이 사항]
CloudFormation 작성 도중 SNS 설정이 없다는 오류를 받음
관련 자료: https://docs.aws.amazon.com/ko_kr/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html

  • 더불어서 yml 파일 다운로드 링크가 크롬에서는 바로가기 링크로 연결되서 클릭만 했을 때는 파일로 다운로드가 안되기 때문에 이를 명시해주거나 파일 링크를 전달해주어야 할 것 같음

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.