포켓덱스 소개
AWS AppSync 및 AWS Lambda가 지원하는 전체 스택 Pokédex 앱을 몇 분 만에 배포하십시오.
저는 최근에 사람들이 다음에 어떤 예시를 보고 싶어하는지 물었고 지금까지 가장 큰 요청은 AWS Amplify 및 AWS AppSync에서 페이지 매김을 처리하는 방법과 Pokémon보다 더 좋은 방법이 무엇인지였습니다!
그것이 하는 일
작동 방식
앱의 코드는 here에 있습니다.
이 프로젝트는 AWS AppSync를 사용하여 서버리스 함수로 지원되는 서버리스 GraphQL API를 제공합니다. 이러한 함수는 Pokemon API 과(와) 상호 작용하는 데 사용됩니다.
프로젝트에서
amplify
라는 폴더를 볼 수 있습니다. 이 폴더에는 모든 사람의 계정에 재배포할 수 있는 앱의 백엔드가 포함되어 있습니다. amplify
폴더에 backend
폴더가 표시됩니다. 이 폴더에서 세 가지 주요 기능에 대한 구성을 볼 수 있습니다.backend/api
폴더에는 기본 GraphQL Schema 뿐만 아니라 GraphQL API 구성이 표시됩니다.이것이 기본 GraphQL 스키마입니다. 기본 스키마는 다음과 같습니다.
type Query {
listPokemon(limit: Int, nextToken: Int): PokemonConnection
@function(name: "listpokemon-${env}")
pokemon(id: Int): Pokemon @function(name: "getpokemon-${env}")
}
type PokemonConnection {
nextToken: Int
items: [Pokemon]
}
type Pokemon {
abilities: [PokemonAbility]!
baseExp: Int!
height: Int!
id: Int!
image: String!
moves: [PokemonMove]!
name: String!
weight: Int!
}
type PokemonMove {
id: String!
details: PokemonMoveDetails @function(name: "pokemonmovedetails-${env}")
}
type PokemonAbility {
id: String!
details: PokemonAbilityDetails @function(name: "pokemonabilitydetails-${env}")
}
type PokemonMoveDetails {
name: String!
flavorText: String!
effect: String!
}
type PokemonAbilityDetails {
name: String!
effect: String!
}
이전에 Amplify로 작업한 적이 없다면
@function
지시문을 모를 수 있습니다. 이것은 Amplify CLI의 라이브러리GraphQL Transform의 일부입니다.@function - 서버리스 함수를 AppSync 확인자로 사용하려면 이 지시문으로 필드를 장식합니다. 이는 Amplify CLI를 통해 구성된 기능에 매핑됩니다.
앱 배포
백엔드 배포 및 앱 실행
~ git clone https://github.com/kkemple/pokedex.git
~ cd pokedex
~ npm install
~ amplify init
? Enter a name for the environment: dev (or whatever you would like to call this env)
? Choose your default editor: <YOUR_EDITOR_OF_CHOICE>
? Do you want to use an AWS profile? Y
amplify mock
~ expo start
~ amplify push
? Are you sure you want to continue? Y
? Do you want to generate code for your newly created GraphQL API? N
> We already have the GraphQL code generated for this project, so generating it here is not necessary.
GraphQL 스키마 사용자 지정
이 스키마는 편집할 수 있습니다. 추가 필드 또는 기본 유형이 필요한 경우 다음을 수행하여 백엔드를 업데이트할 수 있습니다.
스키마를 업데이트합니다(amplify/backend/api/gweatherapp/schema.graphql에 있음).
백엔드 재배포
amplify push
There is a settings page in the app, a fun challenge would be to allow users to store locations and set one for the forecast!
귀하 또는 귀하가 아는 사람이 이 앱을 시작하고 실행하는 데 도움이 필요하면 에서 저에게 연락하세요. 기꺼이 도와드리겠습니다!
Reference
이 문제에 관하여(포켓덱스 소개), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/theworstdev/introducing-pokedex-4976텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)