Your task is to create one-page application with list of devices and their details. Devices data are stored in 'devices.json' which should be loaded dynamically via http request.
The result should be uploaded to github. If you don't have a user yet, you might need to create one.
You should be able to fetch the device list directly from https://gist.githubusercontent.com/Tehnix/c9d53939b2ed600b321fed8e1898f3a7/raw/dfe7adaf6f73e320ae4ed42761d6b50cf25eb569/devices.json meaning you don't need to keep a server running.
+--------------------------------------------------------------------------------+ | | | +-----------------------------------------------------+ | | | Search bar | | | +-----------------------------------------------------+ | | | | +-----------------------------------+ | | | Name: Device 1, Location: ... | Name: Device 2 | | +-----------------------------------+ Location: Somewhere | | +-----------------------------------+ Last result: 1232 | | | Name: Device 2, Location: ... | | | +-----------------------------------+ | | +-----------------------------------+ | | | Name: Device 3, Location: ... | | | +-----------------------------------+ | | +-----------------------------------+ | | | Name: Device 4, Location: ... | | | +-----------------------------------+ | | +-----------------------------------+ | | | Name: Device 5, Location: ... | | | +-----------------------------------+ | | +-----------------------------------+ | | | Name: Device 6, Location: ... | | | +-----------------------------------+ | | +-----------------------------------+ | | | Name: Device 7, Location: ... | | | +-----------------------------------+ | | | | | +--------------------------------------------------------------------------------+
- Devices list: Every item will display a devices name and location. When user clicks on an item, it will display devices's details on the right.
- Search bar: It will search all the devices names and descriptions. Results are displayed in the list, as a filtered list of devices that match on the search.
You are entirely free to choose the whole stack, with some minor requirements:
- Free to use plain javascript, typescript or flow
- must use react.js
- you don't have to use redux, flux, or any other state management library (unless you want to)
- build tool of your choice (npm, yarn)
- you can use CSS framework, CSS/HTML preprocessors of your choice
- git is required