Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mazipan/graphql-pokeapi
🔴 The Unofficial GraphQL for PokeAPI
https://github.com/mazipan/graphql-pokeapi
graphql-api hacktoberfest pokeapi pokeapi-graphql pokemon-graphql
Last synced: 2 days ago
JSON representation
🔴 The Unofficial GraphQL for PokeAPI
- Host: GitHub
- URL: https://github.com/mazipan/graphql-pokeapi
- Owner: mazipan
- License: mit
- Created: 2020-02-12T09:13:13.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2024-10-23T13:20:32.000Z (about 2 months ago)
- Last Synced: 2024-11-21T10:23:56.499Z (22 days ago)
- Topics: graphql-api, hacktoberfest, pokeapi, pokeapi-graphql, pokemon-graphql
- Language: JavaScript
- Homepage: https://graphql-pokeapi.vercel.app/
- Size: 1.51 MB
- Stars: 176
- Watchers: 3
- Forks: 31
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- awesome-made-by-indonesian - GraphQL for PokeAPI - `The Unofficial GraphQL for PokeAPI` *by [Irfan Maulana](https://github.com/mazipan)* (G)
- made-in-indonesia - GraphQL for PokeAPI - `The Unofficial GraphQL for PokeAPI` *by [Irfan Maulana](https://github.com/mazipan)* (G)
README
# 🔴 The Unofficial GraphQL for PokeAPI
![Playground Screenshot](public/screenshot.png)
## Homepage
[https://graphql-pokeapi.vercel.app](https://graphql-pokeapi.vercel.app)
## Endpoint
- GraphCDN (with caching): https://graphql-pokeapi.graphcdn.app
- Origin: https://graphql-pokeapi.vercel.app/api/graphql## Playground
[https://graphql-pokeapi.vercel.app/api/graphql](https://graphql-pokeapi.vercel.app/api/graphql)
## Applications
If you are using `graphql-pokeapi`, you can add your apps in our [awesome-list.md](awesome-list.md)
## Sending Request Example
- WIP - [Sending request using Fetch API - GET](examples/01-use-fetch-get.js)
- [Sending request using Fetch API - POST](examples/02-use-fetch-post.js)
- WIP - [Sending request using Apollo - GET](examples/03-use-apollo-get.js)
- [Sending request using Apollo - POST](examples/04-use-apollo-post.js)## Queries
| Query | Desc | Variables |
| ------------------- | ------------------------------ | ----------------- |
| `abilities` | Get list of abilities | |
| `ability` | Get detail of ability | `ability` |
| `berries` | Get list of berries | |
| `berry` | Get detail of berry | `berry` |
| `eggGroups` | Get list of egg groups | |
| `eggGroup` | Get detail of egg group | `eggGroup` |
| `encounterMethods` | Get list of encounterMethods | |
| `encounterMethod` | Get detail of encounterMethod | `encounterMethod` |
| `evolutionChains` | Get list of evolutionChains | |
| `evolutionChain` | Get detail of evolutionChains | `id` |
| `evolutionTriggers` | Get list of evolutionTriggers | |
| `evolutionTrigger` | Get detail of evolutionTrigger | `name` |
| `genders` | Get list of genders | |
| `gender` | Get detail of gender | `gender` |
| `growthRates` | Get list of growth rates | |
| `growthRate` | Get detail of growth rate | `growthRate` |
| `locations` | Get list of locations | |
| `location` | Get detail of location | `location` |
| `moves` | Get list of moves | |
| `move` | Get detail of move | `move` |
| `natures` | Get list of natures | |
| `nature` | Get detail of nature | `nature` |
| `pokemons` | Get list of pokemons | `limit`, `offset` |
| `pokemon` | Get detail info of pokemon | `name` |
| `regions` | Get list of regions | |
| `region` | Get detail of region | `region` |
| `species` | Get list of species | |
| `types` | Get list of types | |## Query Examples
### pokemons
Desc: Get list of pokemons
Sample Query
```js
query pokemons($limit: Int, $offset: Int) {
pokemons(limit: $limit, offset: $offset) {
count
next
previous
status
message
results {
url
name
image
}
}
}
```Sample Variables
```js
{
"limit": 2,
"offset": 1
}
```Sample Result
```js
{
"data": {
"pokemons": {
"count": 964,
"next": "https://pokeapi.co/api/v2/pokemon/?offset=3&limit=3",
"previous": null,
"results": [
{
"url": "https://pokeapi.co/api/v2/pokemon/1/",
"name": "bulbasaur",
"image": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/1.png"
},
{
"url": "https://pokeapi.co/api/v2/pokemon/2/",
"name": "ivysaur",
"image": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/2.png"
},
{
"url": "https://pokeapi.co/api/v2/pokemon/3/",
"name": "venusaur",
"image": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/3.png"
}
],
"status": true,
"message": ""
}
}
}
```### pokemon
Desc: Get detail info of pokemon
Sample Query
```js
query pokemon($name: String!) {
pokemon(name: $name) {
id
name
abilities {
ability {
name
}
}
moves {
move {
name
}
}
types {
type {
name
}
}
message
status
}
}
```Sample Variables
```js
{
"name": "ditto"
}
```Sample Result
```js
{
"data": {
"pokemon": {
"id": 132,
"name": "ditto",
"abilities": [
{
"ability": {
"name": "imposter"
}
},
{
"ability": {
"name": "limber"
}
}
],
"moves": [
{
"move": {
"name": "transform"
}
}
],
"types": [
{
"type": {
"name": "normal"
}
}
],
"message": "",
"status": true
}
}
}
```## Credits
- [PokeAPI](https://github.com/PokeAPI/pokeapi)
- [Pokedex Promise V2](https://github.com/PokeAPI/pokedex-promise-v2#pokemon)
- [Apollo Server Vercel](https://github.com/Saeris/apollo-server-vercel)
- [Vercel](https://vercel.com/)
- [JS Escaper Tool](https://www.freeformatter.com/javascript-escape.html#ad-output)## Contributors
Thanks goes to these wonderful people!
![Contributors](https://contrib.rocks/image?repo=mazipan/graphql-pokeapi)
---
Copyright © By Irfan Maulana