/star-wars-react

React app that compares 2 Star Wars characters' residences

Primary LanguageJavaScriptMIT LicenseMIT

Netlify Status

Installation

This project requires:

  1. Node.js ^14.0.0.
  2. Yarn ^1.22.4.
yarn && yarn start

This command will install all required dependencies, start webpack-dev-server and automatically open new tab on http://localhost:8080/ in your browser.

Scripts

Name Description
start start dev server
build build production bundle
format:styles format styles with Stylelint
lint:js lint JavaScript for code quality issues with ESLint
format:js format JavaScript with Prettier
precommit run all linters and formatters with a single command

Project requirements

Create React app compiled with Webpack that compares 2 characters' residences and declares if they ever lived/seen together, using the public Star Wars API.

The criteria is as follows:

  • If they have shared a planet, starship or vehicle before.
  • If so, state the characters' names and movie(s) where that occurred (i.e. Luke Skywalker and Han Solo were seen together in The Empire Strikes Back).
  • The list can go as long as it needs to.
  • Use 2 select boxes for the user to pick any character that is available from the API.
  • Cool transitions.

Resources

  • The Star Wars API all the Star Wars data you've ever wanted.
  • React is a JavaScript library for building user interfaces.
  • Styled Components is a CSS-in-JS library.
  • Webpack is a static module bundler for modern JavaScript applications.
  • Babel is a JavaScript compiler.
  • ESLint is a pluggable and configurable linter tool for identifying and reporting on code quality issues in JavaScript.
  • Prettier is an opinionated code formatter for JavaScript and other languages.
  • Stylelint is a mighty, modern linter that helps you avoid errors and enforce conventions in your styles.
  • Netlify is a web hosting infrastructure and automation platform.
  • Yarn is a fast, reliable, and secure dependency management.
  • Renovate is an automated dependency updates tool.
  • Browserlist is a tool for sharing target browsers between different front-end tools.
  • use-sound a React Hook for Sound Effects.
  • react-select The Select control for React.

Lighthouse

Lighthouse results https://lighthouse-dot-webdotdevsite.appspot.com//lh/html?url=https%3A%2F%2Fstar-wars-react.netlify.app