# Front-end Challenge: Web Make sure you read all of this document carefully, and follow the guidelines in it. ## Context Use **React** w/ TypeScript to implement the following mock-up. You will need to leverage an open API for weather data to fill in the details and functionality as described below. <iframe style="border:none" width="800" height="450" src="https://whimsical.com/embed/KbccMXKFrCwH5NVkyinDTR"></iframe> ## Requirements ### Weather API You can use any weather API but these are the ones that we recommend: [OpenWeather](https://openweathermap.org/current) [Tomorrow](https://www.tomorrow.io/weather-api/) [WeatherAPI](https://www.weatherapi.com/) ### Functionality * The search filter needs to be able to perform filtering on a City name. * The results need to be toggle-able between Fahrenheit and Celsius. * A demo of the application should be provided using one of the following solutions: * [Netlify](https://www.netlify.com/) * [Vercel](https://vercel.com/) * [Layer0](https://www.layer0.co/) * The application should be mobile responsive. ### Tech stack TypeScript oriented (JavaScript can be used, but we strongly prefer TypeScript) - Use **React** - Feel free to use a CSS-in-JS tool or utility-first, minimal CSS framework but *do not* use any pre-styled frameworks or libraries - USE: - [**Chakra UI**](https://chakra-ui.com/) (we use this) - [styled components](https://styled-components.com/) - [Emotion](https://emotion.sh/) - [Tailwind](https://tailwindcss.com/) - AVOID: - Bootstrap - Material UI - Semantic UI ### Bonus * Make the application accessible * Write clear **documentation** on how the app was designed and how to run the code * Implement **end-to-end** testing * Include subtle animations to focus attention ## What we care about Here's what you should strive for: - Good use of current TypeScript, HTML, CSS, and performance best practices - Solid testing approach - Extensible code - Mobile support ## Q&A > Where should I send back the result when I'm done? Create a repository on GitHub and send a link to this repository back to us when you are done. There is no deadline for this task unless otherwise noted to you directly. > What if I have a question? Send your questions to your engineering contact via email.