To better assess a candidates development skills, we would like to provide the following exercise. This is intended to be an exercise that can be developed within a few hours.
Clone the project
git clone [email protected]:massgov/front-end-exercise.git && cd front-end-exercise/
Set up your local server with the dependencies and / or task runners that you see fit for this project.
We want to develop a small checklist component, based on a visual design spec.
On page load, the checklist of items should be displayed.
When the user selects a checkbox, the item should appear crossed out, as shown in the design.
When the user selects a checkbox, holds down the SHIFT
key and selects a checkbox further down the list, every item in between should also be selected.
The un/check all items should either check or uncheck all items.
You can use any task runner you want.
You can use any library/framework/plugin you want.
You can write html/js/css or in languages which compile into html/js/css.
Due to the limited time, develop just for the latest version of Google Chrome.
When you're all set, push your branch up to origin
We must be able to pull your branch down and run the app locally
See if you can develop this component in a way that it (or pieces of it) could be reused elsewhere in our project.
See if you can connect with an external data source to load the todo items and check / maintain the state of those items. (Psst! json-server could be helpful here ;)
See if you can add any considerations for cross/legacy browser support.
See if you can add considerations for accessibility.
Our goal is to find answers to get a feel for your favorite front end tools, workflow, methodologies, and standards.