Welcome to the Kisi Web Development Challenge!
The aim of the web development challenge is to demonstrate technical prowess and speed of execution by quickly bootstrapping a simple web app leveraging the Kisi REST API. For this purpose, a boilerplate project may and likely should be used to finish the challenge within a limited amount of time. Eventually, the web app should be accessible through HTTPs, for example by deploying it to Heroku or Now or Netlify
Mandatory libraries:
- React
- Redux
- Kisi JS client: https://www.npmjs.com/package/kisi-client
- Downshift for AutoComplete
Recommended libraries:
- Material-UI
Prerequisites:
- API Key: 94c2056abb993b570517f2d3a89c9b5a (use setLoginSecret to set the API key in the Kisi client)
- API Documentation: https://api.kisi.io/docs/api
First Task:
- Retrieve a list of locks for the user
- Show the the list of locks
- Show an unlock button per lock that triggers the lock
- Show the state of the unlock per lock: in progress, success, failure
Second Task:
- Build a search filter (AutoComplete) for the list of locks
- When a lock is selected, show the groups related to it (/groups?lock_id)
- The selected lock needs to be persisted as query parameter in the url
- Only 5 locks can be fetched at a time. (Use
limit
parameter)
Keep both tasks in the same app that you deploy. We’ll be assessing the submission within a few hours and return feedback.
Good luck! =)