Unit11 Ships
Overview
In this module, you will create a dynamic page using a JSON data file and the fetch API
Vocabulary
- Fetch
- Provides an interface for fetching local and network resources
- Promise
- Represents the success or failure of an asynchronous operation and its resulting value.
- Error Handling
- Providing a backup option if a problem is encountered
- API
- Application Programming Interface
Objectives
At the end of this module, you should be able to...
- Load data using fetch API
- Use the fetch() method with a path to a data source
- Implement error event handling
- Implement basic features of CSS Grid
Tasks
- Download the start file for this unit.
- Download the JSON data set Start Wars Ships
- The path to the ship photos from the visual guide
- The path to the placeholder image
Watch
- Unit Lectures
- Watch 1720_11a Ships-Overview
- Watch 1720_11b Promise-Connection
- Watch 1720_11c Navigation-Links
- Watch 1720_11d Ship-Viewer
- Watch 1720_11e Error-Handling
- Watch 1720_11f Ship-Design
Reflection Questions
Read How to Use an API: Just the Basics by Emma Burlingame
- Describe in general terms What Does an API Do based on what you learned form the above article. (read only this section)
Assignment Example
- View the small screen version
- View the medium screen version
- View the large screen version
Assignment Checklist
Unit11 Ships (10 pts)
Using the provided JSON DATA set, create a dynamic page that build a button for each ship and then displays that ship when the button is clicked.
Page Header
- Site title here
Page Navagation
- Dynamically populate the navigation tag with buttons from the list of ships in the JSON file
- Style them to look nice
Page Content
- Display a photo of the currently selected ship
- Display the name of the ship.
- Provide a backup presentation (error handling) in case the image is missing.
Page Footer
- Your name
- Assignment name
- Styled to look nice
Overall Page Requirements
Your page needs to meet these requirements
- Link to a normailze.css file (this creates a common starting point for all browsers)
- Link to a small.css file
- Link to a medium.css file
- Link to a large.css file
- Link to an external Google Font of your choice
- Media Queries are included in the medium and large css files
- Demonstrate the design principles of Contrast, Proximity, Alignment, Hierachy, Wayfinding, and Visual Tangent.
- Passes the HTML5 validation test.
- Passes the CSS3 validation test.
- Upload your assignemnt to GitHub
- Change your repository to private
- Publish the GitHub repository to Netlify using the name that they provide
Grade
In order to receive a grade for this assignment you must earn 90% of the points listed above.
- Pass
- Fail