- Create an API that takes multiple optional input(s) of Car manufacturer’s (Make) name (full or partial name), model name (full or partial model name), budget in USD, and/or model year or a combination of any these input variables and returns the following search results in REST friendly format:
- Total Number of vehicles available that matches the faceted search parameters
- Number of vehicles matched by Make and Model combination as a sub-group of Total Number
- Lowest, Median, and Highest Price of the vehicle that matches the price
- 5 Suggested vehicles that are within a given budget. Sort by price in ascending order. Distinct Brand. ( Budget range is 10% of given budget. For example: A budget of 25k will yield vehicles with pricing between 22,500 and 27,500 )
- Develop a fully REST compliant HTTP API
- Publish your code along with any data sets used on your own GitHub page
- Create a Readme for your project on how to use, build, install, and run
- Create any additional instructions / documentation as you see helpful
- Must work through command line / shell (should not require us to use an IDE)
- Must pass the unit tests created by the interviewer (will not be disclosed to you ahead of time)
- Must have the ability to handle and simulate a system error and should be documented and handled properly according to REST semantics
- Test must be returned within 48 hours (will check the latest commit timestamp on your GitHub for qualification)
- Must be created either using JavaScript, Typescript (preferred), or Go lang ONLY
- Can use any open source frameworks, plugins that are available through public code artifactories (e.g., npm) {cannot use unpublished GitHub source code}
- Bonus points for limiting the number of open source frameworks utilized to deliver the functionality
- Use JSON Server or other in-memory persistence layer to store the data sets provided by us or created by you for your exercise (do not use file system in your API code)
- Attached is a randomized vehicle statistics snapshot for your exercise.
- Create a Single Page Application that demonstrates the use of the API created in Part (A) of the exercise
- A responsive Web Application that allows the users to enter the full text search keywords for make and model, Budget and Year (all being optional)
- Displays the search results from the API in a user-friendly way
- Abilty to search several times
- Handle errors elegantly
- Develop a SPA
- Publish your code along with any data sets used on your own GitHub page
- Create a Readme for your project on how to use, build, install, and run
- Create any additional instructions / documentation as you see helpful
- Must work through command line / shell (should not require us to use an IDE)
- Must pass the unit tests created by the interviewer (will not be disclosed to you ahead of time)
- Must have the ability to handle and simulate a system error and should be documented and handled properly according to REST semantics
- Test must be returned within 48 hours (will check the latest commit timestamp on your GitHub for qualification)
- Must be created either using JavaScript, Typescript (preferred)
- Must be developed using React or Vue SPA frameworks only
- Can use any open source packages, plugins that are available through public code artifactories (e.g., npm) {cannot use unpublished GitHub source code}
- Bonus points for limiting the number of open source frameworks utilized to deliver the functionality
- Use the API built in Part (A) of this exercise
- HTML Template is provided as a starting point for your SPA application. You have to use this design but can replace HTML/Web components as you need to based on the libraries you have chosen so long as the design system is showcased.
- Project scaffolding and Git friendliness (10%)
- Clean, Unit Tested, & self-documented code (30%)
- Domain Model suitability (10%)
- Design Patterns usage (20%)
- Usage of modern language practices (e.g., async, avoiding loops, etc.,) (30%)
- There will be 2 interviews after the test has been successfully submitted
- 1 Interview will be focused on submitted exercise, code review, and requirements validation
- 1 Interview will be focused on your experience working in —> agile environments, interactions with QA Automation teams, technical collaboration style, and ability to receive and provide honest feedback to team