We'd like you to develop a small prototype application to allow users to browse a list of customers together with their pet insurance quotes and policies.
Please only spend 2-3 hours on this. We're not expecting you to finish the app, we're more interested to see how you approach the task so just do what you can in the time you have.
Some example pages have been created for you but you don't have to use them (if you do, there may be some improvements you can make):
Here are some examples of features you could add, but feel free to be as creative as you wish:
- Choosing a customer displays their details along with a list of their quotes and policies.
- Choosing a quote or policy displays the details of that quote or policy.
- Customers are sorted by their
registeredfield by default. - Users can deep link to customers, quotes and policies.
- Sort order of lists can be chosen.
- Users can search for a customer, quote or policy.
When you have finished, you can either send over you solution as a zip file or add a collaborator to your repository. Let us know which you'd prefer and we will provide details the relevant details.
Good luck!
-
Download and install Node.js
-
Create a new private repository within your Github account
-
Duplicate the
boughtbymany/fe-candidate-javascript-taskand mirror-push it to your newly created repository. See here for instructions on how to do this. -
Clone the repository you created.
-
Install dependencies:
npm install
-
Run the app:
# This will start an API server at http://localhost:3000 # and the app at http://localhost:8080 npm run serve
The app was created with Vue CLI.
This project exposes a REST API using JSON Server at http://localhost:3000 which can be used to fetch the data for the app. This is automatically started when running the app but can be run seperately with:
npm run dbExamples:
- Customers - http://localhost:3000/customers
- Quotes - http://localhost:3000/quotes
- Policies - http://localhost:3000/policies
Specific customer/quotes/policies can be fetched by appending the uuid to the end of the URL, e.g. http://localhost:3000/customers/fb2b4c61-940e-468a-ad92-69b05ca57e16
The raw data can be seen in src/db.json
- Pages don't need to be high-fidelity designs but you can make use of the existing SASS in src/sass.