ポケモン対戦用のメモ特化型アプリ「ばとめも」の Flutter プロジェクトです。
- graphql-pokeapi | The Unofficial GraphQL for PokeAPI
- PokeAPI の非公式 GraphQL API
- 各種ポケモンのタイプや特性、種族値の取得に使用
- serebii.net
- 持ち物の画像の表示に使用
必要なもの
Makefile に各種コマンドのショートカットが設定されています
$ make help
1 「手動作業の手順」 > 「graphql-pokeapi の schema.graphql ファイルダウンロード」に従って、graphql-pokeapi の GraphQL スキーマをダウンロード
2. GraphQL クエリを記述したファイルを作成
$ vi lib/graphql/read_pokemon.graphql
query ReadPokemon($name: String!) {
pokemon(name: $name) {
name
}
}
3. GraphQL スキーマから Dart コードを生成
$ make generate-dart-code
$ ls lib/graphql
all_users.ast.gql.dart
all_users.data.gql.dart
all_users.data.gql.g.dart
all_users.graphql
all_users.req.gql.dart
all_users.req.gql.g.dart
all_users.var.gql.dart
all_users.var.gql.g.dart
Codemagic を使用して、ストア配布用のバイナリをビルド・公開しています
konnyaku256/pokemon_battle_memo への新規タグ作成をトリガーにビルド・公開のワークフローが実行されます
アプリをリリースします(APP_VERSION)
$ make release-app APP_VERSION=1.0.0
- ブラウザからオリジンのエンドポイント「https://graphql-pokeapi.vercel.app/api/graphql」にアクセスして、GraphQL Playground を起動する
- 画面右端の「SCHEMA」ボタンをクリックして、サイドメニューを開く
- サイドメニュー右上の「DOWNLOAD」ボタンをクリックして、表示されたセレクトボックスから「SDL」ボタンをクリックして「schema.graphql」ファイルをダウンロードする
※本当は Introspection Query を使用して直接スキーマをダウンロードしたかったが、同一オリジン以外からの Introspection Query が許可されていなかったため、上記の手順を採用しています。