{"id":19225991,"url":"https://github.com/developer239/pokemon-gql","last_synced_at":"2025-07-30T14:18:19.626Z","repository":{"id":219483751,"uuid":"746964399","full_name":"developer239/pokemon-gql","owner":"developer239","description":null,"archived":false,"fork":false,"pushed_at":"2024-01-28T16:07:09.000Z","size":2235,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-04T21:33:07.898Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/developer239.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-01-23T01:40:59.000Z","updated_at":"2024-01-27T18:04:18.000Z","dependencies_parsed_at":"2024-01-27T20:24:52.178Z","dependency_job_id":"1515c30e-fb0b-489b-8b2c-bc0a2ce7e117","html_url":"https://github.com/developer239/pokemon-gql","commit_stats":null,"previous_names":["developer239/pokemon-gql"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/developer239%2Fpokemon-gql","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/developer239%2Fpokemon-gql/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/developer239%2Fpokemon-gql/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/developer239%2Fpokemon-gql/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/developer239","download_url":"https://codeload.github.com/developer239/pokemon-gql/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240298874,"owners_count":19779353,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-09T15:17:01.347Z","updated_at":"2025-02-23T10:18:57.211Z","avatar_url":"https://github.com/developer239.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Pokemon API\n\n![master](https://github.com/developer239/pokemon-gql/actions/workflows/api-ci.yml/badge.svg)\n\n![preview](./preview.png)\n\n## Table of Contents\n\n- [Setup](#setup)\n- [Development](#development)\n- [Database](#database)\n- [Testing](#testing)\n\n## Run with Docker\n\n```bash\ndocker-compose up\n```\n\n**Note:** By default it uses `.env.template`.\n\n## Setup\n\n1. Install dependencies: `make install` (the project uses [yarn](https://github.com/yarnpkg))\n2. Create local environment file: `cp .env.template .env`\n3. Run infrastructure `make infra` (`.db/init/init.sql` should automatically create `api_db` database)\n4. Run development server: `make develop`\n\n## Development\n\n- `make infra` - start postgres docker container\n- `make develop` - start development server\n- `make type-check` - run type checking\n- `make lint-fix` - run linter\n- `make format` - run prettier\n\n## Database\n\n- `make seed-database` - truncate all tables and seed database with initial data\n- `make migration-create name=\u003cmigration-name\u003e` - create new empty migration file\n- `make migration-generate name=\u003cmigration-name\u003e` - generate migration file based on the current schema diff\n- `make migration-run` - run all pending migrations\n- `make migration-revert` - revert last migration\n- `make schema-drop` - drop all tables\n\n```mermaid\nclassDiagram\n  direction BT\n  class attack {\n    varchar name\n    varchar type\n    attack_category_enum category\n    integer damage\n    integer id\n  }\n  class evolution_requirement {\n    integer amount\n    varchar name\n    integer pokemonId\n    integer id\n  }\n  class pokemon {\n    integer number\n    varchar name\n    varchar classification\n    text types\n    text resistant\n    text weaknesses\n    numrange weightRange\n    numrange heightRange\n    double precision fleeRate\n    integer maxCP\n    integer maxHP\n    integer id\n  }\n  class pokemon_attacks_attack {\n    integer pokemonId\n    integer attackId\n  }\n  class pokemon_evolutions_pokemon {\n    integer pokemonId_1\n    integer pokemonId_2\n  }\n  class user {\n    varchar email\n    varchar password\n    integer id\n  }\n  class user_favorite_pokemons_pokemon {\n    integer userId\n    integer pokemonId\n  }\n\n  evolution_requirement  --\u003e  pokemon : pokemonId_id\n  pokemon_attacks_attack  --\u003e  attack : attackId_id\n  pokemon_attacks_attack  --\u003e  pokemon : pokemonId_id\n  pokemon_evolutions_pokemon  --\u003e  pokemon : pokemonId_2_id\n  pokemon_evolutions_pokemon  --\u003e  pokemon : pokemonId_1_id\n  user_favorite_pokemons_pokemon  --\u003e  pokemon : pokemonId_id\n  user_favorite_pokemons_pokemon  --\u003e  user : userId_id\n```\n\n## Testing\n\nMost of the tests are E2E tests and require connection to the database.\n\n- `make test` - run all tests\n- `make coverage` - run test coverage\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeveloper239%2Fpokemon-gql","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeveloper239%2Fpokemon-gql","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeveloper239%2Fpokemon-gql/lists"}