Build a slideshow app

Open
#7 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
Half a day
Newbie friendliness
45/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Stale
Tech stack
javascript
Domain
frontend

Research direction

Start with the Sprint-3/slideshow coursework linked in the issue and read its specification before creating the app entry point. Build the image carousel to satisfy the required first-image, navigation, looping, and at least-four-images criteria; treat the timed controls as stretch functionality. Verify each acceptance criterion manually in the browser.

Written by the indexing model from the issue text.

Description

🏝️ Priority Stretch 🐂 Size Medium 📅 Sprint 3 Module-Data-Groups Optional Submit:PR
Link to the coursework

https://github.com/CodeYourFuture/Module-Data-Groups/tree/main/Sprint-3/slideshow

Learning Objectives
  • Develop a web app according to a specification
  • Combine concepts covered in previous exercises
Why are we doing this?

These challenges are designed to develop your problem-solving skills.

In this exercise you will build an app which shows one image at a time from a collection. It must meet the criteria below:

Acceptance criteria
  • Given a web page with a carousel of images
    When the page loads
    Then the first image in the carousel should be displayed

  • Given forward and back buttons
    When the forward button is clicked
    Then the next image in the carousel should be displayed
    And
    When the back button is clicked
    Then the previous image in the carousel should be displayed

  • Given at least 4 images in the carousel
    When the user reaches the end of the carousel in either direction
    Then the carousel should loop back to the first/last image

Advanced stretch functionality
  • Given auto-forward and auto-back buttons
    When the auto-forward button is clicked
    Then the images should automatically advance every 5 seconds

  • When the auto-back button is clicked
    Then the images should automatically go back every 5 seconds

  • Given the carousel is auto-advancing (in either direction)
    When the stop button is clicked
    Then the auto-advance/go back should stop

  • Given the carousel is auto-advancing (in either direction)
    When the forward button is clicked
    Then the auto-advance should stop
    And the next image should show
    (next = stop + forward)

  • Given the carousel is auto-advancing (in either direction)
    When the back button is clicked
    Then the auto-advance should stop
    And the previous image should show
    (back = stop + back)

Maximum time in hours

4

How to get help

General advice on asking for help can be found on the curriculum pages.
You can always share your blockers in your class channel and get help from your colleagues.

How to submit
  1. Fork the coursework repo to your Github account.
  2. Make a branch for this project.
  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.

There are several projects in this repo. Make a new branch based on main for each project.

Dominant language
JavaScript
Stars
1
Forks
327
Avg merge
3d 7h
Merged PRs (30d)
3

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from CodeYourFuture/Module-Data-Groups

All issues in CodeYourFuture/Module-Data-Groups

Similar issues

More JavaScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.