Giter Club home page Giter Club logo

weather-report's Introduction

Weather Report

Skills Assessed

  • Following directions and reading comprehension
  • Structuring content in HTML
  • Applying styles with CSS
  • Using variables
  • Creating functions
  • Manipulating the DOM
  • Handling events
  • Using Git
  • Designing an intentional user experience
  • Using Axios to call 3rd party APIs
  • Using a proxy server to manage API keys
  • Handling asynchronous calls

Goal

"Do I need to bring a jacket?" "Will it snow today?" "How hot will it be?" When we have questions like these, we often pull open a weather app!

Great weather apps do these two things:

  1. Pull weather data from a data source
  2. Display the weather in readable, compelling way

DuckDuckGo's weather modal, which features city name, temperature reading, and the weather. Some icons show sunny weather, some icons show rainy weather, and some show cloudy weather.
Fig. DuckDuckGo's weather modal, which features city name, temperature reading, and weather icons.

Our goal is to create a fun, small weather app that focuses on displaying the weather.

Our weather app will set the weather using user interaction and get the weather from a 3rd party API, OpenWeather.

Example weather app: The temperature reads 62, in yellow text. The selected dropdown for "Sky" is "Cloudy." There is a depiction of cloudy weather. The city name is "Hoboken." The header reads "Hoboken."
Fig. Example weather app displaying the weather for Hoboken.

Example weather app: The temperature reads 85, in red text. The selected dropdown for "Sky" is "Sunny." There is a depiction of sunny weather. The city name is "Santo Domingo" The header reads "Santo Domingo."
Fig. Example weather app displaying the weather for Santo Domingo.

Example weather app: The temperature reads 38, in teal text. The selected dropdown for "Sky" is "Snowy." There is a depiction of snowy weather. The city name is "Bozeman." The header reads "Bozeman."
Fig. Example weather app displaying the weather for Bozeman.

Example weather app: The temperature reads 49, in teal text. The selected dropdown for "Sky" is "Rainy." There is a depiction of rainy weather. The city name is "Seattle." The header reads "Seattle."
Fig. Example weather app displaying the weather for Seattle.

How to Complete and Submit

Follow the requirements below and build a small weather app.

At submission time, no matter where you are, submit the project via Learn.

JavaScript Requirements

You are required to use vanilla JavaScript for all parts of this project, including the optional enhancements.

Axios

The only extra JavaScript library we should load is Axios.

To download the axios node module, run yarn install

To include axios in your project, include the following script tag above the script tag linking index.js:

  • <script src="./node_modules/axios/dist/axios.min.js"></script>

This should be done during the Wave 1 initial setup of your index.html page.

Workflow Requirements

  • Create at least five git commits throughout this project
  • Use the following files and folders:
    • index.html
    • src/index.js
    • styles/index.css
    • assets folder, potentially for holding images
  • Create and add more folders and files as needed

Content Requirements

For this project, there are no requirements around color schemes, font choices, or layouts.

Note that applying styles with CSS is one of many learning goals of this project -- it is not the central learning goal. You may enjoy being creative with styles, but we encourage you to not concern yourself with getting the styles perfect. Remember, you can always choose to continue working on styling after you've completed all functional requirements.

However, at a minimum, your project must contain these elements:

Wave 2:

  1. An element that displays the temperature
  2. A clickable element to increase temperature
  3. A clickable element to decrease temperature
  4. An element that displays a landscape

Wave 3:

  1. An element that displays the city name
  2. An element that contains an <input type="text"> element, used to rename the city

Wave 4:

  1. A clickable element to get the current temperature of the displayed city name

Wave 5:

  1. A <select> dropdown element to set the sky type
  2. An element that displays a sky

Wave 6:

  1. A clickable element to reset the city name

Detailed Content Requirements

Wave 1: Create Wireframes and HTML

Wave 2: Increase and Decrease Temperature

Wave 3: Naming the City

Wave 4: Calling APIs

Wave 5: Selecting the Sky

Wave 6: Resetting the City Name

Optional Enhancements to inspire you

weather-report's People

Contributors

beccaelenzil avatar kathleenshin avatar charliemushishi avatar kyra-patton avatar tildeee avatar cheezitman avatar yangashley avatar ameerrah9 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.