Skip to content

[TECH ED] Build alarm clock app #82

@Alaa-Tagi

Description

@Alaa-Tagi

Link to the coursework

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

Why are we doing this?

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

Acceptance criteria

  • Given the user has entered a number in the input field
    When the user clicks the "Set Alarm" button
    Then the "Time Remaining" title should update to show the entered number in mm:ss format

  • Given the alarm is set with a valid time
    When one second passes
    Then the "Time Remaining" title should decrement by 1 second

  • Given the alarm is set with a time of 00:00
    When the timer reaches 00:00
    Then the alarm sound should play continuously

  • Given the alarm sound is currently playing
    When the user clicks the "Stop Alarm" button
    Then the alarm sound should stop playing

  • Given the alarm is set with a time of 00:10
    When the timer reaches 00:00
    Then the background color should change
    And the alarm sound should play

  • Given the user has not set an alarm
    When the page first loads
    Then the "Time Remaining" title should show 00:00
    And no alarm sound should play

Maximum time in hours

4

How to get help

Share your blockers in your class channel
https://programming.codeyourfuture.io/guides/getting-help/asking-questions/

How to submit

  1. Fork 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.
gitGraph
    commit id: "start"
    branch feature/alarmclock
    commit id: "skeleton page code"
    commit id: "Fonts and colours"
    commit id: "mobile layout"
    commit id: "lighthouse audit revisions mobile"
    commit id: "desktop layout"
    commit id: "lighthouse audit revisions desktop"
    checkout main
    merge feature/alarmclock
Loading

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

Metadata

Metadata

Assignees

Projects

Status

No status

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions