First of all, welcome to our full-stack engineering challenge!
If you've made it this far, we are already interested in you. This challenge is not meant to trip you up, it's designed for us to better learn where your technical skills lie and understand how you solve problems that might come up in a day-to-day real world application.
For this coding challenge, you will be working on both the backend of the application and the frontend of the application.
- Use the languages you feel most comfortable in
- Refer to Google or documentation as needed
We expect most candidates to spend anywhere between 60 and 90 minutes completing the challenge.
We are asking you to use a JSON blob that represents a list of fruit, return it from a backend API and then to create a list in the UI that shows the fruit name, their color, and whether or not they are in season.
You should be able to filter the fruit by querystring to show only fruit of a certain color, AND OR whether the fruit is in season or not.
- Create your backend webserver
- Create an API that returns the JSON found in
fruitList.json
- You can test your API with this Postman collection
- Create a simple frontend that fetches the list of fruit from your backend API and loads it into the application state
- In a list, render the names of the fruit, their colors, and whether or not they are in season or not
- In the query string allow the user to filter fruit by:
- In season or not (
in_season
) - Their color (
color
) - Partial search on name (can be anywhere within the string) (
name
) (example:app
=>apple
); other examples would beAPP
oraPp
- In season or not (
- Ability to change the querystring filters from the UI
Filtering by Color / in Season / Name:
Example 1: /fruit?color=red
Example 2: /fruit?in_season=true
Example 3: /fruit?color=red&in_season=true
Example 4: /fruit?name=app
The sky is the limit for customization of this challenge. Here are a few ideas to get you started.
- Style the frontend
- Add a database
- Add tests