Your challenge is to build a responsive microsite that display the weather forecast at the locations given in the white text box.
- Has a simple onboarding screen that will trigger the weather forecast base on the geolocation API of the browser.
- Provide an user input where the user can change the location.
- Forecasts for: today, tomorrow and the day after tomorrow should be shown.
- For temperatures below 15ºC, blue color should be used, for temperatures above 35ºC, red should be used and yellow should be used for other temperatures.
- When there is no chosen location, gray should be used . If the user clicks on any temperature, the temperatures should be changed from Celsius to Fahrenheit or from Fahrenheit to Celsius.
- The color defined here can be use for the text color or the background, be creative.
- Components should flexible enough to display the day above or under the temperature.
- Challenge is submitted as pull request against this repo (fork it and create a pull request).
- The microsite should be deployed and usable.
- Localization: support for multiple languages (English, French, ...)
- Backend: proxy the request, handle better the quota (cache?)
- Features: any extra features, you think use full for the user
- You can setup your microsite any way you like; but you should use the stack Node JS and React
- CSS can be written using SASS, LESS or similar higher-level language
- Code quality, maintainability and readability
- Attention to the User Experience
- Features we didn't list in this README
- The quantity of code you write
- To consult the weather forecast, you can use OpenWeather using the API key
b81cd1a66eaee287ea9830aa66250511
. If necessary, create a new account. - To convert latitude and longitude to a location use OpenCage using the API key
066c930b1b9f4d9bb89733fb93e9827b
. If necessary, create a new account.
- Organization of code
- Clarity: Does the README explain briefly what the problem is and how can I run the application?
- Assertiveness: Is the application doing what is expected?
- Code readability
- Security: Are there any clear vulnerabilities?
- Test coverage
- History of commits (structure and quality)
- UX: Is the interface user-friendly and self-explanatory? Is the API intuitive?
- Technical choices
Any questions you may have, open an issue. But take time to think before :)