{"id":21531567,"url":"https://github.com/wojciechpolak/yact","last_synced_at":"2026-04-11T03:34:07.663Z","repository":{"id":261263416,"uuid":"865591582","full_name":"wojciechpolak/yact","owner":"wojciechpolak","description":"YACT (Yet Another Countdown Timer) - a customizable countdown timer web application in React/Next.js","archived":false,"fork":false,"pushed_at":"2026-03-28T16:14:12.000Z","size":1561,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-03-28T18:25:33.783Z","etag":null,"topics":["countdown-timer","docker","nextjs","pwa","react","redux-toolkit","self-hosted","tailwindcss","timer"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wojciechpolak.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-09-30T19:31:59.000Z","updated_at":"2026-03-28T16:14:16.000Z","dependencies_parsed_at":"2025-01-23T08:24:41.004Z","dependency_job_id":"541a159f-9bf2-41e4-a1a3-04023e497499","html_url":"https://github.com/wojciechpolak/yact","commit_stats":null,"previous_names":["wojciechpolak/yact"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/wojciechpolak/yact","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wojciechpolak%2Fyact","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wojciechpolak%2Fyact/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wojciechpolak%2Fyact/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wojciechpolak%2Fyact/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wojciechpolak","download_url":"https://codeload.github.com/wojciechpolak/yact/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wojciechpolak%2Fyact/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31668049,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-10T17:19:37.612Z","status":"online","status_checked_at":"2026-04-11T02:00:05.776Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["countdown-timer","docker","nextjs","pwa","react","redux-toolkit","self-hosted","tailwindcss","timer"],"created_at":"2024-11-24T02:15:08.367Z","updated_at":"2026-04-11T03:34:07.648Z","avatar_url":"https://github.com/wojciechpolak.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# YACT (Yet Another Countdown Timer)\n\nYACT is a customizable countdown timer web application. It allows\nusers to set timers with specific hours, minutes, and seconds, and\noffers various settings to tailor the timer's behavior according to\nindividual preferences.\n\nYACT has been inspired by Big Timer (an online service), but has been\ndeveloped as a free software, self-hosted alternative, built from\nscratch with Next.js, React, and Tailwind CSS.\n\n## Features\n\n- Customizable Timer: Set hours, minutes, and seconds to create a\n  timer that fits your needs.\n- Two Modes: Choose between a fixed duration countdown or a target\n  time mode that counts down to a specific clock time (e.g., 16:00:00).\n- Repeat Functionality: Option to automatically repeat the timer when\n  it reaches zero.\n- Count Up After Timer Ends: Choose to have the timer count upwards\n  after reaching zero.\n- Sound Notifications:\n  - Play a sound when the timer ends.\n  - Play a ticking sound during each of the last 10 seconds.\n- Responsive Design: Optimized for various screen sizes, including\n  mobile devices.\n- Fullscreen Mode: Toggle fullscreen view for an immersive experience.\n- URL Parameters: Share or bookmark specific timer settings using URL\n  parameters.\n- Settings Persistence: User preferences are saved locally to maintain\n  settings across sessions.\n\n\u003cpicture\u003e\n  \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"./.screenshots/main-view-dark.png\"\u003e\n  \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"./.screenshots/main-view-light.png\"\u003e\n  \u003cimg alt=\"Screenshot of YACT\" src=\"./.screenshots/main-view-light.png\"\u003e\n\u003c/picture\u003e\n\n## Running\n\n### Running with Docker (out of the box)\n\n```shell\ndocker run -it -p 8080:8080 --name yact ghcr.io/wojciechpolak/yact\n```\n\n### Running with Docker Compose\n\n```shell\ncurl https://raw.githubusercontent.com/wojciechpolak/yact/master/docker-compose.yml | docker compose -f - up\n```\n\n### Running from the source code\n\n1. Clone the Repository\n\n   ```shell\n   git clone https://github.com/wojciechpolak/yact.git\n   cd yact\n   ```\n\n2. Install Dependencies\n\n   ```shell\n   npm ci\n   ```\n\n3. Run the Application\n\n   ```shell\n   npm run dev\n   ```\n\n4. Open in Browser\n\nVisit http://localhost:3000 to access the countdown timer.\n\n### Testing\n\n```shell\nnpm test\nnpm run e2e\nnpm run e2e:vrt:docker\n```\n\nCreating baseline images:\n\n```shell\nnpm run e2e:vrt:baseline:docker\n```\n\n## License\n\nThis project is licensed under the GNU General Public License v3.0.\nSee the [COPYING](COPYING) file for details.\n\n### Icon Attribution\n\nThe icons used in this project are from the [OpenMoji](https://openmoji.org)\nproject and are licensed under the\n[CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/) license.\n\n### Audio Attribution\n\n- Big Bell by Slothfully_So -- https://freesound.org/s/685065/ -- License: Creative Commons 0\n- Clock Bonmark Tick by zmastafa102 -- https://freesound.org/s/509714/ -- License: Creative Commons 0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwojciechpolak%2Fyact","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwojciechpolak%2Fyact","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwojciechpolak%2Fyact/lists"}