radionewzealand / rnz-frontend-test

A technical test for candidate front-end developers

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RNZ front-end test

Welcome! This is a technical test with a real working project. It uses a number of front-end tools and technologies and it tests working knowledge of these tools. This test is intended to be submitted in the form of a ZIP or a linked repository or similar.

Instructions

Carefully read the following, think about what is being tested for, and complete the steps for each section. Some sections can be completed and findings documented, while others will be in the form of code changes to this project. If you find that you can't complete a particular section, feel free to share your thinking, anything you tried that did not work, and any resources you used. Take as long as you need, but we would hope not to spend more than an hour or two of your time on this exercise.

Final submission

Please zip your finished project repository into a single file excluding the node_modules directory (.cache, .git and dist are fine to include), and submit it to your primary contact person.

The project

🚧 1. Setup

Get started by checking out the project and running the welcome script.

Tasks:

  • Clone and install this repository
  • Run the npm script welcome
  • Run the application locally
  • Update the file answers/1-setup.md with responses to the questions you'll find there

We're looking for:

  • Ability to setup an existing front-end project
  • Ability to run npm scripts
  • Capability with Git, node/npm

πŸ›  2. Tools

Take a look through the tooling for this project.

Tasks:

  • Examine the application code
  • Update the file answers/2-tools.md with responses to the questions you'll find there

We're looking for:

  • Ability to clearly and simply explain technical concepts
  • Ability to describe a front-end project's tools
  • Familiarity with common tools and their purpose
  • Understanding of configuration files and their purpose

πŸ” 3. Code review

We need to understand the last change to the codebase.

Tasks:

  • Investigate the commit with the hash 3d0ba63437473995b55ed919062cb8df33b2bcab
  • Update the file answers/3-code-review.md with responses to the questions you'll find there

We're looking for:

  • Capability with Git
  • Ability to describe what has changed in a commit or pull request
  • Ability to infer a developer's intent from the comments and code changes

πŸ’… 4. HTML & CSS

We have two designs for an image grid and modal image gallery prototype. Load /design-mock-1.html and load /design-mock-2.html in a browser to see the prototype. Users will be able to click the "View" buttons at the bottom of each image in the grid to view a larger image in a modal-gallery.

Please:

  • Install the dependencies and start the dev server
  • Implement the design-mock-1 in HTML and CSS for the index.html
  • Commit your code changes to the project

We're looking for:

  • Ability to write CSS
  • Ability to take proof of concept to a good level of quality
  • Ability to work within existing conventions

✏️ 5. JavaScript

You'll now build the modal gallery functionality to turn it into a working JavaScript component.

Tasks:

  • Add functionality to the existing modal-gallery component to allow it to open and show the larger version of the image, to move between images and to close the modal
  • Extend the CSS to implement the design-mock-2 layout for the modal gallery
  • Commit your code changes to the project

We're looking for:

  • Understanding of HTML elements and working with attributes
  • Understanding of building stand alone components
  • Ability to read and write JavaScript

Thank you! Please submit your completed project per prior instructions.

About

A technical test for candidate front-end developers


Languages

Language:CSS 55.2%Language:JavaScript 29.5%Language:HTML 15.3%