As part of the application process, we'd like you to complete the following challenge. If you have any questions, please respond to the last email you received from our team.
Requisitos
Usando o ponto de extremidade acessível GET https://caseproof.s3.amazonaws.com/dev-challenge/table.json (não são necessários parâmetros de/para), crie um ponto de extremidade AJAX no WordPress que:
- Can be used when logged out or in
- Calls the above endpoint to get the data to return
- When called, always returns the data, but regardless of when/how many times it is called, never requests the data from our server more than 1 time per hour
Then create the following:
- A block or shortcode for the front end that, when loaded, uses JavaScript to contact your AJAX endpoint and present the returned data formatted into a table-like display
- A WP CLI command that can be used to force the refresh of this data the next time the AJAX endpoint is called
- A WordPress admin page that displays this data in the style of the MemberPress plugin's admin page including the branded header with our logo (you can download the MemberPress logo assets aqui)
- A button to refresh the data
- A search field above the admin table that, when submitted, will make the table only display the rows that have a cell matching any part of the entered search term
Lastly, please:
- Organize and package the code as a WordPress plugin zip file
Make sure you properly escape, sanitize, and validate the data in each step as appropriate using built-in PHP and WordPress functions.
Please do not submit code built from a boilerplate.