Skip to content

gumtreeuk/technical-assignment-fe

Repository files navigation

Gumtree Front End Challenge

User Story

The goal of this task is to create a version of the game 'Rock, Paper Scissors' in the browser.

Acceptance Criteria

Technical Requirements

You should:

  • Support multiple browsers
  • Use vanilla JavaScript or Typescript (though please feel free to use additional libraries in solving the problem, based on your understanding of the role requirements)
  • Write unit tests
  • Use modern styling and features, e.g. SASS, CSS in JS, etc.
  • Use only ES2015+ syntax
  • Use Semantic HTML

You should not:

  • Submit a solution with compilation/runtime errors
  • Submit a solution with failing unit tests

Guidelines

Solution Design

Your solution should be clear and easy to understand, consider using popular software principles such as DRY, KISS, SOLID etc.

Try to avoid unnecessary complexity and over-engineering.

User Interface

The user interface can be as simple or as complex as you wish, however, you will be marked on:

  • Responsive Design
  • Accessibility

You will not be marked on your design choices.

Extensibility

Your solution should be easily extendable to include additional rules.

For example: http://en.wikipedia.org/wiki/Rock-paper-scissors-lizard-Spock

Setup

We provide the following tooling:

  • webpack to modularise your Javascript code
  • babel to utilise ES2015+ features
  • node-sass to modularise your styling via SASS
  • eslint to make sure your code meets the standards
  • jest to help you write and run your unit tests

Commands

# Install the dependencies
yarn install

# Run solution (http://localhost:8080)
yarn dev

# Run the unit tests
yarn test

# Run the linter
yarn lint

Submission

Please fork/clone the repository, commit your changes and then send us a link to your work

This repository should not have any bugs. If you do find any, please report them back to us.

We look forward to your submission, happy coding! :)

The Gumtree Engineering team