Please create a new git repo (don't fork this one) and follow the instructions below.
Once you have finished, please email us the URL to your repo and provide instructions to run the application.
It's expected that you will spend 2-3 hours on the test.
Please make commits as you go (> 1 and < 100) and provide instructions to run the application.
"As a consumer, I would like to be able to view, add, retrieve, and remove cars in a table."
The Acceptance Criteria Priority order is:
- add
- retrieve
- remove
A car has the following attributes:
- make
- model
- colour
- year
We do not require persistent storage (local/session storage is fine).
Note: This is NOT a test of your design skills.
All features should be covered by some tests; what kind of test is up to you. They don't need to be extensive (we just need an idea of your general approach to testing your application).
These are stretch goals if you have time (you can do them in any order):
- "As a Consumer, when reading the car model information I would like to see an additional field containing a string of a few words that sound like the model of the cars I have added" (using http://www.datamuse.com/api/ as the source).
- "As a Consumer, I would like to be able to update my existing cars".
- "As a Consumer, I would like to have the ability to filter and sort the data"
- "As a Developer, I would like to handle frontend form validation (e.g. string length or data-type checks)"
- You can use whatever you want to bootstrap the application (e.g. CRA).
- You can use whatever online resources you want (aside from copy-pasting large chunks of code).
- You are encouraged to use any frameworks or libraries you feel comfortable with.
- You will be asked about the code you submit, so you should be able to explain why every line is there.
- Typescript is fine but not required.