This assessment is based on Vue.js, created by vue-cli with default configuration with vuex. Your task will be based on this base project.
- Clone the project, install dependencies and get it running on your machine.
- Install BootstrapVue and update relevant project files to enable Bootstrap theme.
- Create a
navbarfor the project containinghome,aboutandtaskmenu items. - Leave
homepage as it is in the project, in theaboutpage add a few paragraphs about yourself and why you like coding. - In the
taskpage create a form that accept an amount value with two decimal points (validated!) and a currency from a dropdown box. - On submit of the form in #5, call one of the currency conversion service to get a ZAR value for the amount provided and display it below the form.
#5 and #6 are the important ones, so spend the most time on these as I'd like to see the following:
- Ability to validate form input
- Ability to call a REST API from the project
- Ability to parse the results and handle errors
- Ability to display the results / error messages
I will look at the closeness of the outputs to those of the requirements. Your code must be neat and concise. There should be no errors or warning coming from the project linter. Even though the task is pretty simple, I want to see how you structured the project, separated re-usable components from once-off views, made use of Vue.js templates, components and available libraries.
Below tasks are optional, but if you complete these as well, you will score higher on this technical assessment.
- Change #6 code to use vuex.
- Namespace vuex store in #1 above.
- Use Django / Python to write a REST API wrapper service for the currency conversion of #6 of the required tasks.
- Change #6 of the required tasks to call your Django API instead of the public API.
If you're not comfortable writing the backend service in Python, you can use JS with Node.js and Express, however ability to write a Python service will definitely earn you extra points.
- Create your own free repo with either GitHub or BitBucket
- Commit my initial project to it.
- Create a new branch where you will write all your code.
- Commit the branch and generate a pull request to
master. - Comment your pull request to explain to me what you've done and where.
- Send me the link to you repo - make sure it's public!
Good Luck & May the Force Be With You! :)