Build an alarm clock app
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/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 coursework in Sprint-3/alarmclock and read the acceptance criteria before running the app. Check the existing entry points and implement the timer, alarm controls, sound, and background change described there. Done means every listed scenario works, including the initial 00:00 state.
Written by the indexing model from the issue text.
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.
You can always share your blockers in your class channel and get help from your colleagues.
Submission & Review
- Fork the coursework repo to your Github account.
- Make a branch for this project.
- Make regular small commits in this branch with clear messages.
- 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 the main branch for each project.
- Dominant language
- JavaScript
- Stars
- 1
- Forks
- 327
- Avg merge
- 3d 7h
- Merged PRs (30d)
- 3
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from CodeYourFuture/Module-Data-Groups
-
🏕 Priority Mandatory 🐇 Size Small 📅 Sprint 1 Core Module-Data-Groups Submit:None 🦔 Size Tiny
Difficulty 1/5 Under an hour Newbie friendliness 65/100
-
📅 Sprint 1 NotCoursework
CodeYourFuture/Module-Data-Groups#1443 · 1 assignee ·
-
🏝️ Priority Stretch 🐇 Size Small 📅 Sprint 2 Module-Data-Groups Optional Submit:Issue
Difficulty 1/5 Under an hour Newbie friendliness 58/100
-
🏕 Priority Mandatory 🐂 Size Medium 📅 Sprint 2 Core Module-Data-Groups Submit:Issue
Difficulty 1/5 1-3 hours Newbie friendliness 58/100
-
🏝️ Priority Stretch 🐂 Size Medium 📅 Sprint 3 Module-Data-Groups Optional Submit:None
Difficulty 1/5 Under an hour Newbie friendliness 35/100
All issues in CodeYourFuture/Module-Data-Groups
Similar issues
-
ai-observability bug team/ai-observability
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
AllTheMods/ATM-10-L#19 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
SignalK/n2k-signalk#345 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
Difficulty 1/5 1-3 hours Newbie friendliness 88/100
JuliaPluto/PlutoPlotly.jl#72 ·