This test is a sample of the day to day requirements at CNJ Digital.
The estimated time frame for completion of this test is 4-6 hours. Please keep track of the time spent as you will be probably asked about it. If you have any questions please don't hesitate to ask anyone involved in your interview process.
- Use the latest stable version of Laravel and React (or Vue.js)
- The code/product has to be documented and preferably tested
- It should work on all major browsers
- Single page form with file upload functionality and a checkbox
- Form handling in React or Vue.js
- The form must upload data without a page reload (upload indicator is not required)
- Show error on upload/parse failure (it should work only if the data is in the same format as the provided dataset)
- If the optional checkbox is ticked it inserts the data into the database (this part is optional)
- On data upload show the average of all prices sold, count of all houses sold, number of crimes in 2011, and the average price per year in the London area (check provided image)
The dataset is available in this repo and is taken from here: https://www.kaggle.com/justinas/housing-in-london/data
This is provided just to understand the goal of this test, no CSS is required for this test, and it doesn't have to look like the provided design. The design file is in this repository.
A public repository link with a working form upload that parses the provided CSV correctly. Documentation and tests are recommended.
- Maintainable and testable code
- Unit/acceptance/feature tests if deemed necessary
- Separation of concern
- Use common Laravel/React/Vue practices
Feel free to skip some parts if you are out of time, but comment out what is missing and add a super short explanation on how would you handle it. If something is not specified feel free to make assumptions.
Good luck 🙂