CodeYourFuture / CodeYourFuture/Module-Data-Groups
Build an alarm clock app
- Dominant language
- JavaScript
- Stars
- 1
- Forks
- 326
- Avg merge
- 3h 25m
- Merged PRs (30d)
- 2
Description
### Link to the coursework
https://github.com/CodeYourFuture/Module-Data-Groups/tree/main/Sprint-3/alarmclock
### Learning Objectives
- [ ] Develop a web app according to a specification
- [ ] Practice working with timers in JavaScript
### Why are we doing this?
These challenges are designed to develop your problem-solving skills.
In this exercise you need to build an alarm clock which meets the following criteria:
#### 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 colour 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
General advice on asking for help can be found on the [curriculum pages](https://curriculum.codeyourfuture.io/guides/getting-help/asking-questions/).
You can always share your blockers in your class channel and get help from your colleagues.
### Submission & Review
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](https://simpledev.io/lesson/create-branch-gh-desktop-1) based on the `main` branch for each project.
Contributor guide
Assessment
This issue has not been assessed yet.