Hello!
In this code assignment we would like you build an app that help the user find a university in a given country.
In this assignment we have some requirements we would like you to follow. If you would like to flex with some more features outside of the ones we have scoped here - we are happy to see those as well!
Below we have scoped the requirements for the application.
The app should consist of two pages:
🏡 Home page - here the user can fill out a form and submit it. The form should have two fields:
- One freetext field where the user can type his/hers name.
- One dropdown where the user can pick a city from a dropdown. The options should be France, United Kingdom, Italy and Ireland. It should not be possible to submit the form without filling in both fields. On submit the user should be redirected to the search results page.
🔍 Search Results page - when the form on the Homepage is submitted the user should get redirected to this page. This page should show:
- Their own name that they submitted in the form (for a more personalised experience)
- The names of the universities for the given country (the country they picked in the dropdown on the form).
Some additional requirements for this page (nice-to-have):
- The universities names presented in alphabetical order.
- A button where the user can navigate to the Home page.
To do this you will use the public API University Domains and Names Data List & API from Hipo.
Check out section 2 - Using the Hosted API for details.
The application should be written in React, using functional components and React Hooks.
We made this assignment to give you the opportunity to show us as much of your expertise as possible. You are free to add implementations and features outside of the scoped requirements! However we respect that everyone has different amount of time to put into something like this and we will evaluate accordingly.
You are 100% free to use external libraries or packages for this assignment!
- Clone this repository
- Setup a new private repository with the source code
- Code
- Push your solution to a new branch
- Create a Pull Request in your private repository and invite us to the repository on the interview
If you didn't have time to finish all the code you wanted to prepare for the interview, it is fine. You can ellaborate on those parts together with us on the call instead.
In the project directory, you can run:
Runs the app in the development mode.
Open http://localhost:3000 to view it in your browser.
The page will reload when you make changes.
You may also see any lint errors in the console.
Launches the test runner in the interactive watch mode.
See the section about running tests for more information.
You bring in your solution and get to walk it through with us. We use this as a starting point to have discussion. We want to understand your reasoning and depth of knowledge. As a rule the discussion is more important than the actual code. Also no one is an expert at everything so this also helps us understand your strengths as well as areas of improvement across the stack.
Feel free to reach out to us at any time!
Good luck! 🎉