Skip to content

Instantly share code, notes, and snippets.

@BearAlliance
Last active July 20, 2020 13:26
Show Gist options
  • Star 8 You must be signed in to star a gist
  • Fork 9 You must be signed in to fork a gist
  • Save BearAlliance/c69161ea705a2c4f6f8a to your computer and use it in GitHub Desktop.
Save BearAlliance/c69161ea705a2c4f6f8a to your computer and use it in GitHub Desktop.
Pre-interview Code Project

Pre-interview Code Project

Use the Star Wars API to generate a list of the films that a particular character appears in.

Requirements

Submit an application that accomplishes the objectives below. Hosting is up to you, we only need a link to a working deployment of your project, and a link to your source code. We reccomend js bin, Plunker, and StackBlitz for free, all-in-one solutions.

Alternatively, use github, gitlab, or bitbucket for source control, and a real hosting service such as AWS, Google Cloud, Digital Ocean, or Heroku. Bonus points for continuous integration and deployment

Objectives

  • Allow users to choose a character from the provided JSON file
  • Upon selection of a character, the UI should update to display information about each of the films that that character appears in. Minimally: Title, and formatted ('Thursday, May 19 2005') release date
  • Do this with any js framework, and some kind of component-based pattern
  • You can only use the API routes found the provided 'characters.json' file, and the data returned from those calls
  • Don't load the movie data until the character is clicked
  • Don't show any movie information until all of the character's movies have loaded
  • Handle HTTP errors (While loading the character as well as the film information)
  • Separate concerns where applicable
  • Make it pretty! You're encouraged to use Bootstrap, Bulma, Material Components, or any other css framework

Our favorite js frameworks

Feel free to use any function library you'd like.

If you have feedback about the exercise, please include it.

NOTE: Obi-wan's URL is intentionally incorrect, please do not modify the JSON.


characters.json

    {
      "characters": [
        {
          "name": "Luke Skywalker",
          "url": "https://swapi.co/api/people/1/"
        },
        {
          "name": "Darth Vader",
          "url": "https://swapi.co/api/people/4/"
        },
        {
          "name": "Obi-wan Kenobi",
          "url": "https://swapi.co/api/people/unknown/"
        }, 
        {
          "name": "R2-D2",
          "url": "https://swapi.co/api/people/3/"
        }
      ]
    }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment