JavaScript Public API Mastery Project

Goals

  • To prepare a small working JavaScript application that you can deploy to GitHub pages and show off to employers
  • To focus on good git practices
  • To focus on clean code
  • To review HTML, CSS, JavaScript functions, and the fetch API
  • To experiment with Postman, a workspace to test out API requests

Requirements

Required Features

Have fun with this project! Locate a public API, access its data, and present information to your user through the browser.

Use any of the following sites as a resource for public APIs. API documentation varies, so don't get bogged down with an API that has terrible documentation - find a better one.

The following features are required:

  • Use of JavaScipt, HTML, and CSS
  • User action or input in the form of a button(s), input field(s), form, etc.
  • Use of the JavaScript fetch API to retrieve data from a public API endpoint
  • Display of data from the API in the browser
  • Attractive and user friendly css styling
  • A link to the API Documentation

Optional

The following features are optional:

  • Jasmine tests
  • Use of Node.js and Webpack
  • Separate JavaScript module components with import and export statements
  • Use of Postman

Grading Criteria

Working Software

In order to receive a PASSING grade, working software must consist of an application that runs without error and meets all of the Required Features listed above.

Git Usage

In order to receive a PASSING grade, your commit history should tell the story of the development of your code.

  • Commits were small and had descriptive messages.
  • New branches were created for each feature.
  • Use of pull requests in GitHub to approve the merge of the feature branch into your dev branch, and eventual merge of dev into master.

Clean Code

Clean code is readable, easy to understand, formatted, and not littered with commented out code.

In order to receive a PASSING grade, all of the following principles must be met:

  • Use of ES6 features
  • Follow SOLID principles

    • Use of variables and functions to abstract away details
    • Functions should have a single responsibility
  • Organized and Formatted code

    • Use indentations, new lines, brackets, and empty lines to create code that is easy to read and understand
    • Use Auto-formatting tools
    • Code is in separate files
  • Good naming convention

    • Variable, class, and method names should inform the reader of its purpose
    • Variable, class, and method names should use proper casing
  • Comments are rare and only when absolutely necessary

    • If you use descriptive method and variable names, your reliance on comments should be minimal
    • In addition, you should never leave blocks of commented out code in your committed code