DailyPay Front End Engineering Challenge
Welcome Candidate and thank you for taking the time to complete the DailyPay take-home challenge for our senior frontend engineer position
You will have 2 days to complete the assignment. Once you have completed your solution, please reply with a link to a github repository and instructions on how to install / run the application
The goal of this challenge is to build out a "Movie Awards 2021" interactive ballot. Please clone this repository and submit it once you are finished.
Here are the rules of this challenge.. you must:
- Build an application that displays a list of categories and nominees. Please follow the design in the wireframe below. Run
yarn start
to start the application. - Run
yarn backend
to start the server and get access to API methods such asgetBallotData
. Use the ReactuseEffect
hook to fetch the ballot data from the provided API, and save it to state by using the ReactuseState
hook. useEffect Documentation Fetch API Documentation useState Documentation - When you click on a nominee, we should highlight the nominee card and save the selections using the React
useState
hook. A user can only select one nominee per category, and we should be able to see all of their selections highlighted. The selected nominee card should follow the style guides below. - Make the layout responsive with at least one breakpoint (your choice as to how it looks on a smaller screen width).
- Once the user is finished making their selections, they can click on a submit button that displays a results modal screen. A user can dismiss the modal by clicking on the close button (follow the wireframe below).
Requirements:
- All navigation should happen in the same page
- Demonstrate use of React hooks
- Demonstrate knowledge of component modularization
- Utilize CSS to create the layout of the page. Add hover styles to the items the user is interacting with.
- Create components as you feel is best suited for your solution
Bonuses
- Make it pretty
- Make it accessible
- Add unit tests
Styling Guidelines
-
Use the "Roboto" Google font
-
Use the following colors
- Page background: -
#0D2436
- Default/normal font color:
#FFFFFF
- Hover font color:
#CCCCCC
- Nominee card / submit button background:
#009B86
- Selected Nominee card:
#009B86
- Nominee card background hover / submit button background hover:
#34AC9C
Good luck and if you have questions, please reach out to us at rafael.freaner@dailypay.com
- Page background: -