Skip to content

Instantly share code, notes, and snippets.

@speedingdeer
Created January 31, 2019 15:24
Show Gist options
  • Save speedingdeer/e69a27a9b3549c1b93cc9d1297ca2dc1 to your computer and use it in GitHub Desktop.
Save speedingdeer/e69a27a9b3549c1b93cc9d1297ca2dc1 to your computer and use it in GitHub Desktop.

Code Challenge

Create an API that provides information about Overwatch heroes and their abilities according to the JSONAPI (http://jsonapi.org) spec. Task should be implemented in 90 minutes using ruby language but you are free to choose any open source library which helps to accomplish it.

Prepared solution should be easily ran using a single command. To achieve it, we suggest you to use Docker.

Your API should have the following endpoints:

- /api/heros - hero list
- /api/heros/{hero_id} - hero data
- /api/heros/{hero_id}/abilities - hero ability list
- /api/abilities/ - ability list
- /api/abilities/{ability_id} - ability data

Hereos data source

https://overwatch-api.net/api/v1/hero/ https://overwatch-api.net/api/v1/hero/{hero_id}

Fields required:
- id
- name
- real_name
- health
- armour
- shield

Hero abilities data source

https://overwatch-api.net/api/v1/ability/ https://overwatch-api.net/api/v1/ability/{ability_id}

ability fields:
- id
- name
- description
- is_ultimate

Bonus points for

  • Layering codebase
    • fetching
    • parsing
    • persisting
    • etc
  • Tests using framework of your choice
  • Documentation
  • Admin panel
  • Anything that will impress us ;)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment