- Allow the user to search for cities using the provided input.
- Display the cities found on the home page.
- Allow the user to set the visited/wishlist state of a city to
true
/false
via API requests. - Cities that have visited/wishlist set to
true
should then appear on their respective pages.
npx lerna bootstrap
yarn start:all
We have provided both a REST and a GraphQL API, you are free to use whichever you are most comfortable with in your solution. You can find documention for these at the following URLS:
- REST - http://localhost:4000/rest
- GraphQL - http://localhost:4000/graphql
After running the client you will find a home page with an input field that is currently non-functional as well an empty wish list and visited pages.
We have provided a few packages that will help you in your solution:
- If you choose to use GraphQL we have added Apollo Client.
- For testing, we have provided Jest/React Testing Libary.
- For styling, you will find the component library Chakra UI.
- Use of abstractions where they make sense (DRY).
- Sensible choices regarding performance.
- Functionality tested.
- An accessible solution.
- We use TypeScript and would be happy to see a well typed solution, however if you're not comfortable with this feel free to use JavaScript.