Task List is a simple app that lets users view all tasks (grab from local storage or an api) or do text searches (input manually or scan a QR code). It also serves as a coding task for the interview. Details of the task are listed below.
Write a iOS application that connects to a remote API, downloads a certain set of resources, shows them in a list and provides some basic searching/filtering feature-set. In particular, the app should:
- Request the resources located at
https://api.baubuddy.de/dev/index.php/v1/tasks/select
- Store them in an appropriate data structure that allows using the application offline
- Display all items in a list showing
task
,title
,description
andcolorCode
(which should be a view colored according tocolorCode
) - The app should offer a search bar that allows searching for any of the class properties (even those, that are not visible to the user directly)
- The app should offer a menu item that allows scanning for QR-Codes
- Upon successful scan, the search query should be set to the scanned text
- In order to refresh the data, the app should offer a pull-2-refresh functionality
It's mandatory for your requests towers the API to be authorized. You can find the required request below:
This is how it looks in curl
:
curl --request POST \
--url https://api.baubuddy.de/index.php/login \
--header 'Authorization: Basic QVBJX0V4cGxvcmVyOjEyMzQ1NmlzQUxhbWVQYXNz' \
--header 'Content-Type: application/json' \
--data '{
"username":"365",
"password":"1"
}'
The response will contain a json object, having the access token in json["oauth"]["access_token"]
. For all subsequent calls this has to be added to the request headers as Authorization: Bearer {access_token}
.