-
-
Notifications
You must be signed in to change notification settings - Fork 46
Level 400: Fetch much more data #8
Copy link
Copy link
Open
Labels
🎯 Topic Code ReviewReading, understanding, and analysing codeReading, understanding, and analysing code🎯 Topic IterationPrototyping, testing, analysing, and refining in a cycle of developmentPrototyping, testing, analysing, and refining in a cycle of development🎯 Topic Problem-SolvingBreaking down problems and building up solutionsBreaking down problems and building up solutions🎯 Topic RequirementsInterpreting requirements with precision and accuracyInterpreting requirements with precision and accuracy🎯 Topic TestingIt's important that software works and that people can use itIt's important that software works and that people can use it🏕 Priority MandatoryThis work is expectedThis work is expected📅 Sprint 3Assigned during Sprint 3 of this moduleAssigned during Sprint 3 of this module📅 Sprint 4Assigned during Sprint 4 of this moduleAssigned during Sprint 4 of this module
Metadata
Metadata
Assignees
Labels
🎯 Topic Code ReviewReading, understanding, and analysing codeReading, understanding, and analysing code🎯 Topic IterationPrototyping, testing, analysing, and refining in a cycle of developmentPrototyping, testing, analysing, and refining in a cycle of development🎯 Topic Problem-SolvingBreaking down problems and building up solutionsBreaking down problems and building up solutions🎯 Topic RequirementsInterpreting requirements with precision and accuracyInterpreting requirements with precision and accuracy🎯 Topic TestingIt's important that software works and that people can use itIt's important that software works and that people can use it🏕 Priority MandatoryThis work is expectedThis work is expected📅 Sprint 3Assigned during Sprint 3 of this moduleAssigned during Sprint 3 of this module📅 Sprint 4Assigned during Sprint 4 of this moduleAssigned during Sprint 4 of this module
Type
Projects
Status
📋 Backlog
Level 400
For level 400, you should work in the repo of your partner from level 200.
Before writing any new code, look at their level 300 implementation.
Compare their implementation to yours. Think:
They should do the same with your repository.
Have a discussion about your answers to these questions. In class, together you should give a 3 minute talk about your conclusions.
Refactoring
Feel free to change anything in your codebase which you think will make it easier to work with, or to build new features.
Have your partner review any changes you have, and make sure they understand them.
Adding new functionality
Level 400 is about expanding beyond one TV show.
Until now, your site has only showed information about the episode of one TV show.
But TVmaze has information about lots of TV shows, all in the same format.
We want to display any of them.
Requirements
selectelement to your page so the user can choose a show.fetchrequest to https://api.tvmaze.com/shows (documentation) to get a list of available shows, and add an entry to the drop-down per show.You will need to perform a
fetchto get the episode list.4. Make sure that your search and episode selector controls still work correctly when you change shows.
5. Your select must list shows in alphabetical order, case-insensitive.
6. During one user's visit to your website, you should never fetch any URL more than once.
Note
Be careful when developing with fetch. By default, every time you make a small change to your app it will be restarted by live server. If you are fetching JSON on page load, the JSON will be downloaded again and again. These frequent HTTP requests may lead to the API permanently banning your IP address from further requests. This is called "throttling". Worse, if they don't, they may cause performance issues for the API service we are using.
Screenshot of minimal version
Note: Provided your project meets the above requirements, it can look however you want.
Here is one example layout.