# 06 Server-Side APIs: Weather Dashboard
## Your Task
Third-party APIs allow developers to access their data and functionality by making requests with specific parameters to a URL. Developers are often tasked with retrieving data from another application's API and using it in the context of their own. Your challenge is to build a weather dashboard that will run in the browser and feature dynamically updated HTML and CSS.
Use the [OpenWeather One Call API](https://openweathermap.org/api/one-call-api) to retrieve weather data for cities. Read through the documentation for setup and usage instructions. You will use `localStorage` to store any persistent data.
## User Story
```AS A travelerI WANT to see the weather outlook for multiple citiesSO THAT I can plan a trip accordingly```
## Acceptance Criteria
```GIVEN a weather dashboard with form inputsWHEN I search for a cityTHEN I am presented with current and future conditions for that city and that city is added to the search historyWHEN I view current weather conditions for that cityTHEN I am presented with the city name, the date, an icon representation of weather conditions, the temperature, the humidity, the wind speed, and the UV indexWHEN I view the UV indexTHEN I am presented with a color that indicates whether the conditions are favorable, moderate, or severeWHEN I view future weather conditions for that cityTHEN I am presented with a 5-day forecast that displays the date, an icon representation of weather conditions, the temperature, the wind speed, and the humidityWHEN I click on a city in the search historyTHEN I am again presented with current and future conditions for that city```
The following image shows the web application's appearance and functionality:
![The weather app includes a search option, a list of cities, and a five-day forecast and current weather conditions for Atlanta.](./Assets/06-server-side-apis-homework-demo.png)
## Grading Requirements
This homework is graded based on the following criteria:
### Technical Acceptance Criteria: 40%
* Satisfies all of the above acceptance criteria plus the following:
* Uses the OpenWeather API to retrieve weather data.
* Uses `localStorage` to store persistent data.
### Deployment: 32%
* Application deployed at live URL.
* Application loads with no errors.
* Application GitHub URL submitted.
* GitHub repository that contains application code.
### Application Quality: 15%
* Application user experience is intuitive and easy to navigate.
* Application user interface style is clean and polished.
* Application resembles the mock-up functionality provided in the homework instructions.
### Repository Quality: 13%
* Repository has a unique name.
* Repository follows best practices for file structure and naming conventions.
* Repository follows best practices for class/id naming conventions, indentation, quality comments, etc.
* Repository contains multiple descriptive commit messages.
* Repository contains quality readme file with description, screenshot, and link to deployed application.
You are required to submit BOTH of the following for review:
* The URL of the functional, deployed application.
* The URL of the GitHub repository. Give the repository a unique name and include a readme describing the project.