🏷️ backlog

Module-Data-Flows πŸ”—   Project-TV-Show πŸ”—  

[PD] Resilience learning points and suggestions πŸ”— Clone

[PD] Resilience learning points and suggestions πŸ”—

Coursework content

Watch the following video and read the articles. How do you think CYF can improve the PD session on resilience? Share 5 of your own learning points and 3 new suggestions for us to make the session even better.

Estimated time in hours (PD has max 4 per week total)

1

What is the purpose of this assignment?

This assignment will help you deepen your understanding of resilience, strengthen your skills, and support future cohorts that will attend CYF.

How to submit

Attach the link of your Google doc to this ticket on your board.

Anything else?

Optional video list: The benefits of failure

  • πŸ• Priority Mandatory
  • πŸ‡ Size Small
  • πŸ“… Sprint 3
  • Topic Confidence
  • πŸ“… Sprint 3
  • πŸ‡ Size Small
  • πŸ• Priority Mandatory
  • Topic Confidence
[PD] Review your peers' LinkedIn profile πŸ”— Clone

[PD] Review your peers' LinkedIn profile πŸ”—

Learning Objectives

Objectives

Coursework content

Review your Teamwork Project team members’ LinkedIn profiles and provide constructive feedback.

Consider the information added to their profile, their photos, their transferrable skills, if you can spot any grammar or spelling mistakes, what they’ve posted recently and how they are interacting on it.

When giving feedback, remember that this is an important moment to give your peer a present.

  • Describe what you can see/evaluate on their LinkedIn page
  • Explain why you think it is good with a clear example
  • Explain the impact of it, either positive or negative
  • Have a conversation about it

Estimated time in hours (PD has max 4 per week total)

1

What is the purpose of this assignment?

Code Your Future believes in collective intelligence, which focuses on openness and sharing. This assignment will allow you to support your peers and learn from each other.

How to submit

  • Share the screenshot of your feedback on this issue.
  • If you provided feedback in person, write it down and add it as a comment on this issue.
  • 🎯 Topic Communication
  • πŸ• Priority Mandatory
  • πŸ‡ Size Small
  • πŸ“… Data Flows
  • πŸ“… Sprint 3
  • πŸ“… Sprint 3
  • πŸ“… Data Flows
  • πŸ‡ Size Small
  • πŸ• Priority Mandatory
  • 🎯 Topic Communication
[TECH ED] πŸ“ Code review πŸ”— Clone

[TECH ED] πŸ“ Code review πŸ”—

Learning Objectives

Objectives

Why are we doing this?

Code review is an essential part of self-evaluation. Get a code review for a piece of work; then reply and iterate on this feedback.


We’re using GitHub Labels in our Code Review process. In order for a volunteer to review your pull request, you will need to add a “Needs Review” label to it.

  • Open your pull request
  • In the right sidebar, click Labels, then select “Needs Review”

Take a look at our code review process from beginning to end. Let us know if you have any questions or need help!


You can also use any solutions to review your code independently.

Maximum time in hours

1

  • πŸ• Priority Mandatory
  • πŸ“… Sprint 3
  • :memo: Self evaluate
  • πŸ“… Sprint 3
  • πŸ• Priority Mandatory
  • :memo: Self evaluate
[TECH ED] Code Along APIs and Fetch πŸ”— Clone

[TECH ED] Code Along APIs and Fetch πŸ”—

https://github.com/CodeYourFuture/CodeAlong-NumberFacts

Why are we doing this?

Now that you’ve learned about APIs and how to connect with them, let’s apply it in the context of a complete application. In the following assignment, you’ll be coding along with somebody as they make an API call to an external, public API.

Don’t just watch this video. You must code along for active learning. This will help you to understand what exactly the presenter is doing.

A couple of notes:

  1. The video uses a UI framework called Bootstrap - you don’t need to use Bootstrap. Do not spend time learning about Bootstrap - it’s a distraction. It’s up to you how much time you want to spend on the visual styling of your website. It’s ok if it’s completely unstyled, or if you want to make it pretty.
  2. The video uses two different ways of calling an API - XmlHttpRequests and fetch. You can ignore the XmlHttpRequest way, and just use fetch.

https://www.youtube.com/watch?v=tUE2Nic21BA

Maximum time in hours

2

How to get help

Try this codealong in a study group.

How to submit

    Fork the repo to your own GitHub account
    Make regular small commits with clear messages
    When you are ready, open a Pull Request to the CYF repo
    Make sure you fill in the PR template provided

How to review

  1. Complete your PR template
  2. Ask for review from a classmate or mentor
  3. Make changes based on their feedback
  4. Review and refactor again once the coursework solutions are released.
  • 🎯 Topic Programming Fundamentals
  • 🎯 Topic Requirements
  • 🏝️ Priority Stretch
  • πŸ‚ Size Medium
  • πŸ“… Data Flows
  • πŸ“… Sprint 3
  • πŸ“… Sprint 3
  • πŸ“… Data Flows
  • πŸ‚ Size Medium
  • 🏝️ Priority Stretch
  • 🎯 Topic Requirements
  • 🎯 Topic Programming Fundamentals
[TECH ED] Codewars πŸ”— Clone

[TECH ED] Codewars πŸ”—

https://www.codewars.com/users/CodeYourFuture/authored_collections

Why are we doing this?

Every week you need to complete at least three kata. Spend at least 20 minutes, three times a week, on your kata workout.

Find the Collection for this module on the CodeYourFuture account. Choose some kata from the Data Flows collection and keep working on Array and Object Methods.

If you are completing these kata very easily, then look at The Piscine collection

Maximum time in hours (Tech has max 16 per week total)

1

How to get help

Remember, after 20 minutes, take a break.

How to submit

Your codewars progress is tracked automatically and is available on the public API. You don’t need to submit it.

How to review

Once you have completed your kata, look at the other solutions in the solutions view. Consider how many different approaches there are. Is there something you would adopt for yourself? Revise your own solution.

  • 🎯 Topic Code Review
  • 🎯 Topic Problem-Solving
  • 🎯 Topic Programming Fundamentals
  • 🎯 Topic Requirements
  • 🎯 Topic Time Management
  • πŸ• Priority Mandatory
  • πŸ“… Sprint 3
  • πŸ“… Sprint 3
  • πŸ• Priority Mandatory
  • 🎯 Topic Time Management
  • 🎯 Topic Requirements
  • 🎯 Topic Programming Fundamentals
  • 🎯 Topic Problem-Solving
  • 🎯 Topic Code Review
[TECH ED] Codewars API Project πŸ”— Clone

[TECH ED] Codewars API Project πŸ”—

https://github.com/CodeYourFuture/Codewars-API-Project

Why are we doing this?

Let’s play with grabbing some data from an API and displaying it on a website. We will be using the the Fetch API to make requests to the Codewars API and the Web Components API to display the data we get back. Let’s go!

Learning Objectives

Maximum time in hours (Tech has max 16 per week total)

0

How to get help

Did you know this is basically how your Codewars is tracked by your mentors? Ask them

How to submit

As always, open a PR to the repo and ask for a review in #cyf-code-review

Anything else?

Feedback on this assignment by pressing the emoji reaction button on this comment.

Emoji Key

πŸ‘ = Useful πŸ‘Ž = Not useful

πŸš€ = Way too much time given πŸ˜• = Not enough time given

  • 🎯 Topic Programming Fundamentals
  • 🏝️ Priority Stretch
  • πŸ‚ Size Medium
  • πŸ“… Data Flows
  • πŸ“… Sprint 3
  • πŸ“… Sprint 3
  • πŸ“… Data Flows
  • πŸ‚ Size Medium
  • 🏝️ Priority Stretch
  • 🎯 Topic Programming Fundamentals
[TECH ED] Coursework feedback πŸ”— Clone

[TECH ED] Coursework feedback πŸ”—

https://github.com/CodeYourFuture/Module-Data-Flows/issues/

Why are we doing this?

The CYF curriculum is an open source project. Like all software, it is continually revised and improved in iterations.

Help improve the curriculum by giving quick emoji feedback on any assignment.

Screenshot 2024-02-23 at 14 06 56

Feedback on this assignment by pressing the emoji reaction button on the top comment.

Emoji Key

πŸ‘ = Useful πŸ‘Ž = Not useful

πŸš€ = Way too much time given πŸ˜• = Not enough time given

You are invited to give feedback on any assignment in this way. Do this on the CYF issue, not your copy, so CYF can track it using the GitHub reactions API.

Maximum time in hours

.05

How to submit

Click the emoji button on the first post on any coursework assignment.

  • 🎯 Topic Iteration
  • 🎯 Topic Teamwork
  • 🏝️ Priority Stretch
  • πŸ¦” Size Tiny
  • πŸ“… Data Flows
  • πŸ“… Sprint 3
  • πŸ¦” Size Tiny
  • πŸ“… Sprint 3
  • πŸ“… Data Flows
  • 🏝️ Priority Stretch
  • 🎯 Topic Teamwork
  • 🎯 Topic Iteration
[TECH ED] Hammock Driven Development πŸ”— Clone

[TECH ED] Hammock Driven Development πŸ”—

https://github.com/matthiasn/talk-transcripts/blob/master/Hickey_Rich/HammockDrivenDev.md

Why are we doing this?

Here’s the video of this talk https://www.youtube.com/watch?v=f84n5oFoZBc

All the way through this course, we are trying to teach you one Big Idea: programming is problem solving.

We never want you to have no problems on this course! We want you to find problems and then solve them. The more problems you have, the better you are doing.

Maximum time in hours (Tech has max 16 per week total)

0

How to submit

Share a solution in your class channel – write up your troubleshooting process and the solution you found for any problem.

  • 🎯 Topic Problem-Solving
  • 🏝️ Priority Stretch
  • πŸ‚ Size Medium
  • πŸ“… Data Flows
  • πŸ“… Sprint 3
  • πŸ“… Sprint 3
  • πŸ“… Data Flows
  • πŸ‚ Size Medium
  • 🏝️ Priority Stretch
  • 🎯 Topic Problem-Solving
[TECH ED] JavaScript Challenges πŸ”— Clone

[TECH ED] JavaScript Challenges πŸ”—

https://github.com/CodeYourFuture/Module-Data-Flows/tree/main/challenges

Why are we doing this?

If you’re completing the coursework with time to spare, you’re not getting the most you can out of your time here. Stretch yourself with extra challenges.

No time given as this is a stretch goal.

Maximum time in hours (Tech has max 16 per week total)

0

How to get help

Share your blockers in your class channel.

How to submit

  1. Fork to your Github account.
  2. When you are ready, open a PR to a CYF repo.

How to review

  1. Complete your PR template
  2. Ask for review from a classmate or mentor
  3. Make changes based on their feedback
  4. Review and refactor again once the coursework solutions are released.
  • 🎯 Topic Problem-Solving
  • 🎯 Topic Programming Fundamentals
  • 🏝️ Priority Stretch
  • πŸ‚ Size Medium
  • πŸ“… Data Flows
  • πŸ“… Sprint 3
  • πŸ“… Sprint 3
  • πŸ“… Data Flows
  • πŸ‚ Size Medium
  • 🏝️ Priority Stretch
  • 🎯 Topic Programming Fundamentals
  • 🎯 Topic Problem-Solving
[TECH ED] Play the Bandit πŸ”— Clone

[TECH ED] Play the Bandit πŸ”—

https://overthewire.org/wargames/bandit/

Why are we doing this?

Basic Linux skills are essential for roles in Cloud, DevOps, Cyber, and SRE. Junior Cloud and DevOps roles are growing in the industry; React and fullstack junior roles are becoming more scarce. So it’s a good idea to practice Linux skills to make yourself more employable. At the basic level this means using a computer from the command line instead of a GUI. You will learn to use commands to move from folder to folder, to open and edit files, and to get info like the size of a file or its location. At CYF we build this skill by playing a game called The Bandit.

Your goal is to get to Level 20 by the end of the course.

Try to get to at least level 16 this week.

Maximum time in hours

1

How to get help

Work through the puzzles together in #cyf-over-the-wire

Don’t share solutions in this channel, or you steal from others the opportunity of learning.

How to submit

There is no submission step. However, to apply for some roles and some courses (like CYF+ ) you must demonstrate these skills, so it would be a good idea to learn them.

Anything else?

Here’s a ChatGPT prompt you can use to get the best, most helpful learning experience:

Please act as a friendly, warm, straightforward technical mentor. You are an experienced Site Reliability Engineer who uses the terminal regularly and understands all shell commands in bash. You can explain clearly, using English mostly at CEFR B2 level, how to execute shell commands and how to navigate Linux file systems. We will be playing The Bandit, Over the Wire, shell game together. I don’t want you to give me all the answers. I want you to walk me towards the answer, helping me to find out and learn Linux commands, explaining clearly what is happening as we go. Please answer my questions carefully and do not offer code solutions, just explain in English the approach I should take and then review the commands I suggest to you. Say okee dokee if you understand.

And remember: every time ChatGPT offers code you must write “Is this valid” before you continue. ChatGPT makes up invalid code all the time.

  • 🎯 Topic Problem-Solving
  • 🎯 Topic Programming Fundamentals
  • πŸ• Priority Mandatory
  • πŸ‚ Size Medium
  • πŸ“… Data Flows
  • πŸ“… Sprint 3
  • πŸ“… Sprint 3
  • πŸ“… Data Flows
  • πŸ‚ Size Medium
  • πŸ• Priority Mandatory
  • 🎯 Topic Programming Fundamentals
  • 🎯 Topic Problem-Solving
[TECH ED] Programmer Humour πŸ”— Clone

[TECH ED] Programmer Humour πŸ”—

https://github.com/CodeYourFuture/Module-Data-Flows/tree/main/fetch/programmer-humour

Why are we doing this?

We’re making a very tiny application, the smallest one you can think of, that fetches from an API and shows something on a page. You should do this many times. Make ten more of these if you finish this early. Make it as simple as possible.

Remember: always do the simplest thing that can possibly work.

Maximum time in hours (Tech has max 16 per week total)

1

How to submit

  1. Fork to your Github account.
  2. Make a branch for this project called feature/xkcd
  3. Make regular small commits in this branch with clear messages.
  4. When you are ready, open a PR to the CYF repo, following the instructions in the PR template.
gitGraph commit id: "start" branch feature/xkcd commit id: "stub-files" commit id: "fetch-from-xkcd" commit id: "template-layout" commit id: "lighthouse-audit-revisions" checkout main merge feature/xkcd

There are several projects in this repo. Make a new branch for each project. This might feel challenging at first, so this is a good problem to bring to class to work on in groups with mentors.

Don’t make one giant PR with all your work in for the module. Make a separate PR for each assignment.

How to review

  1. Complete your PR template
  2. Ask for review from a classmate or mentor
  3. Make changes based on their feedback
  4. Review and refactor again once the coursework solutions are released.
  • 🎯 Topic Programming Fundamentals
  • 🎯 Topic Requirements
  • πŸ• Priority Mandatory
  • πŸ“… Data Flows
  • πŸ“… Sprint 3
  • πŸ“… Sprint 3
  • πŸ“… Data Flows
  • πŸ• Priority Mandatory
  • 🎯 Topic Requirements
  • 🎯 Topic Programming Fundamentals
[TECH ED] Think about what to do next πŸ”— Clone

[TECH ED] Think about what to do next πŸ”—

https://curriculum.codeyourfuture.io/

Why are we doing this?

If you are confident you have finished the course (i.e. you meet the Success criteria for all modules), you should step back and think about what you want to do next.

If you are not sure, you should talk to people! The whole community (volunteers, graduates, other trainees) may all have interesting and useful perspectives.

If you are really eager to get a job as a software engineer, you should apply for the Piscine. Read through the Piscine’s prep. You must be enrolled as a trainee to apply for the Piscine. If you are not a trainee, you should enrol now.

If you are excited about a job in tech, but don’t think software engineering is the role for you, that’s totally fine! Consider the Tracks for jobs after ITP. You must be enrolled as a trainee to join these tracks, and they only run when there are jobs available.

If you are not eligible to enrol as a trainee, for instance because you live too far from a Code Your Future class, consider other schools that may be able to help.

If you have some spare time (e.g. while waiting for the Piscine or a track), we recommend you practice your skills. Do Codewars exercises, build websites that do interesting things, work on projects that will help you practice what you’ve learned. If you’re really confident in your skills, you may want to follow one of the self-study tracks.

It’s always more important that you understand what you know really well, than that you understand lots of things. If in doubt, we always recommend you revisit prep and exercises you’re not sure about, or work on projects to get more practice.

  • 🎯 Topic Communication
  • 🎯 Topic Problem-Solving
  • 🎯 Topic Time Management
  • πŸ• Priority Mandatory
  • πŸ‡ Size Small
  • πŸ“… Data Flows
  • πŸ“… Sprint 3
  • :memo: Self evaluate
  • πŸ“… Sprint 3
  • πŸ“… Data Flows
  • πŸ‡ Size Small
  • πŸ• Priority Mandatory
  • 🎯 Topic Time Management
  • 🎯 Topic Problem-Solving
  • 🎯 Topic Communication
  • :memo: Self evaluate
[TECH ED] πŸ«±πŸ½β€πŸ«²πŸΏ Mentored pair programming πŸ”— Clone

[TECH ED] πŸ«±πŸ½β€πŸ«²πŸΏ Mentored pair programming πŸ”—

Learning Objectives

Objectives

Pick one piece of programming you’re doing (we recommend a codewars kata) and pair up with a volunteer to work on it together.

See the mentored pair programming guide for guidance.

Book time with a volunteer using one of the Scheduling links in the #cyf-pair-programming slack channel’s canvas. If there are no available times, please post in #cyf-pair-programming.

Remember, as a learner, you will need to explain your thought process, plan out what to do, write the code and check it works

Why are we doing this?

Pair programming is an excellent way to develop programming and communication skills. It is often much easier to work through something when working on something 1-to-1. It is also helps our learners to prepare for technical interviews when they’ll need to code in front of other people.

Acceptance criteria

  • You have pair programmed on a piece of programming with a volunteer for at least one hour this sprint.
  • πŸ• Priority Mandatory
  • πŸ¦” Size Tiny
  • πŸ“… Sprint 3
  • πŸ¦” Size Tiny
  • πŸ“… Sprint 3
  • πŸ• Priority Mandatory
πŸ§‘πŸΎβ€βš–οΈ Check module success criteria πŸ”— Clone

πŸ§‘πŸΎβ€βš–οΈ Check module success criteria πŸ”—

https://programming.codeyourfuture.io/data-flows/success/

Why are we doing this?

πŸ”‘ The most important thing is that you are secure in your understanding.

At the end of the course, we will expect you to build novel applications using your understanding. If you cannot build things, we cannot put you forward for jobs. It is in your personal interest to make sure you have properly understood this module.

To progress to the next module you need to meet the success criteria for this module. How will you as a cohort meet the module success criteria? Discuss it in your class channel and make a plan together.

Strategies

πŸ§‘πŸΏβ€πŸŽ€ good strategies

  • asking volunteers to review your code
  • helping each other with coursework blockers
  • arranging midweek study sessions
  • using Saturday time to review code and cohort tracker

πŸ™…πŸΏ bad strategies

  • opening empty PRs
  • copying and pasting
  • breaking the Trainee Agreement
  • mistaking the measure for the target

Maximum time in hours

.5

How to get help

Discuss with your cohort. Support each other.

How to submit

At the end of your module you will need to submit your own work in the CYF dashboard. This means things like pull requests you have written sent from your GitHub account, and Google Docs you have written.

What you need to submit is listed on the success page for the module.

Remember - the goal is your understanding. If you are not confident you could delete and re-do the work you’re submitting easily, you should take more time to revise the topics. It’s more important that you understand the work, than that it gets done quickly.

  • 🎯 Topic Code Review
  • 🎯 Topic Communication
  • 🎯 Topic Delivery
  • 🎯 Topic Requirements
  • 🎯 Topic Teamwork
  • 🎯 Topic Testing
  • 🎯 Topic Time Management
  • πŸ• Priority Mandatory
  • πŸ¦” Size Tiny
  • πŸ“… Data Flows
  • πŸ“… Sprint 1
  • πŸ“… Sprint 3
  • πŸ¦” Size Tiny
  • πŸ“… Sprint 3
  • πŸ“… Sprint 1
  • πŸ“… Data Flows
  • πŸ• Priority Mandatory
  • 🎯 Topic Time Management
  • 🎯 Topic Testing
  • 🎯 Topic Teamwork
  • 🎯 Topic Requirements
  • 🎯 Topic Delivery
  • 🎯 Topic Communication
  • 🎯 Topic Code Review
Level 400: Fetch much more data πŸ”— Clone

Level 400: Fetch much more data πŸ”—

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:

  1. How is it different?
  2. What do you prefer about your implementation?
  3. What do you prefer about their implementation?
  4. What did you learn that you didn’t know before?

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

  1. Add a select element to your page so the user can choose a show.
  2. When the user first loads the page, make a fetch request to https://api.tvmaze.com/shows (documentation) to get a list of available shows, and add an entry to the drop-down per show.
  3. When a user selects a show, display the episodes for that show, just like the earlier levels of this project.

You will need to perform a fetch to 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.

πŸ–ΌοΈ

πŸ–ΌοΈ

  • 🎯 Topic Code Review
  • 🎯 Topic Iteration
  • 🎯 Topic Problem-Solving
  • 🎯 Topic Requirements
  • 🎯 Topic Testing
  • πŸ• Priority Mandatory
  • πŸ“… Sprint 3
  • πŸ“… Sprint 4
  • πŸ“… Sprint 4
  • πŸ“… Sprint 3
  • πŸ• Priority Mandatory
  • 🎯 Topic Testing
  • 🎯 Topic Requirements
  • 🎯 Topic Problem-Solving
  • 🎯 Topic Iteration
  • 🎯 Topic Code Review
Level 500: Build a front page πŸ”— Clone

Level 500: Build a front page πŸ”—

Level 500

For level 500, you must switch back to your original codebase.

You must have merged someone else’s level 400 implementation.

Once again, compare their implementation to yours. Think:

  1. How is it different?
  2. What do you prefer about your implementation?
  3. What do you prefer about their implementation?
  4. What did you learn that you didn’t know before?

Have a discussion about your answers to these questions. In class, together give a 3 minute talk about your conclusions. Do this in small groups so you don’t spend hours doing this.

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 500 is about adding a front-page which lets users select (and find) shows from your shows list.

Requirements

  1. When your app starts, present a listing of all shows (“shows listing”)
    1. For each show, you must display at least name, image, summary, genres, status, rating, and runtime.
  2. When a show name is clicked, your app should:
    1. Fetch and present episodes from that show (enabling episode search and selection as before)
    2. Hide the “shows listing” view
  3. Add a navigation link to enable the user to return to the “shows listing”
    1. When this is clicked, the episodes listing should be hidden
  4. Provide a free-text show search through show names, genres, and summary texts
  5. Ensure that your episode search and episode selector controls still work correctly when you switch from shows listing to episodes listing and back
  6. During one user’s visit to your website, you should never fetch any URL more than once.

Screenshot of minimal version

Note: Provided your project meets the above requirements, it can look however you want.

Here is one example layout.

πŸ–ΌοΈ

  • 🎯 Topic Communication
  • 🎯 Topic Iteration
  • 🎯 Topic Teamwork
  • πŸ• Priority Mandatory
  • πŸ“… Sprint 3
  • πŸ“… Sprint 3
  • πŸ• Priority Mandatory
  • 🎯 Topic Teamwork
  • 🎯 Topic Iteration
  • 🎯 Topic Communication
Level 999: Stretch πŸ”— Clone

Level 999: Stretch πŸ”—

Extra options

Do not do any of these until you have completed level 500!

Here are some ideas for consideration for further work:

  1. Add cast listing to your show listing, http://api.tvmaze.com/shows/1?embed=cast
  2. Add cast listing to your episode listing, http://api.tvmaze.com/shows/1?embed=cast
  3. Allow clicking a cast member to present a view of all shows the person has appeared in http://api.tvmaze.com/people/1/castcredits
  • Linking those back into your episodes view of each show.
  1. Truncate long summaries and provide a “… read more…” control to reveal more.
  2. Allow the user to choose to have the show list sorted by rating (highest rated shows first)
  3. Have your search support start-of-word search, or other search types.
  4. Make the browser’s back and forward buttons navigate through your changed views (see History.pushState()).
  5. Allow user to mark “favourite” shows
  6. Allow user to store notes on each episode
  7. Use local storage to cache the above, and perhaps also to cache episode lists
  8. Paginate through results with a “load more” button - don’t load 100s of episodes at a time.
  9. Experiment with infinite scroll
  10. Responsive design
  11. Style your page to fit the theme of the show (colours, typography, background images, etc). Commit to one show to do this.
  • 🎯 Topic Iteration
  • 🎯 Topic Time Management
  • 🏝️ Priority Stretch
  • πŸ“… Sprint 3
  • πŸ“… Sprint 3
  • 🏝️ Priority Stretch
  • 🎯 Topic Time Management
  • 🎯 Topic Iteration