{"id":25604326,"url":"https://github.com/mfep/exercise-timer","last_synced_at":"2025-04-13T09:34:51.371Z","repository":{"id":206717212,"uuid":"697005282","full_name":"mfep/exercise-timer","owner":"mfep","description":"Timer app for high intensity interval training","archived":false,"fork":false,"pushed_at":"2024-05-22T18:08:57.000Z","size":306,"stargazers_count":9,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-05-22T18:47:37.137Z","etag":null,"topics":["gnome","gnome-app","gtk4","gtk4-rs","libadwaita","libadwaita-rs","linux","meson","relm4"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/mfep.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2023-09-26T21:23:40.000Z","updated_at":"2024-06-01T17:13:23.948Z","dependencies_parsed_at":"2023-11-13T21:26:58.318Z","dependency_job_id":"eb4306be-121d-4043-9b11-3ac6a15c91ec","html_url":"https://github.com/mfep/exercise-timer","commit_stats":null,"previous_names":["mfep/exercise-timer"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mfep%2Fexercise-timer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mfep%2Fexercise-timer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mfep%2Fexercise-timer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mfep%2Fexercise-timer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mfep","download_url":"https://codeload.github.com/mfep/exercise-timer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248691253,"owners_count":21146311,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["gnome","gnome-app","gtk4","gtk4-rs","libadwaita","libadwaita-rs","linux","meson","relm4"],"created_at":"2025-02-21T17:32:00.930Z","updated_at":"2025-04-13T09:34:51.360Z","avatar_url":"https://github.com/mfep.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# Exercise Timer\n\n[![GNOME Circle badge](https://circle.gnome.org/assets/button/badge.svg)](https://circle.gnome.org/)\n[![CI badge](https://img.shields.io/github/actions/workflow/status/mfep/exercise-timer/ci.yml?branch=main)](https://github.com/mfep/midiconn/actions/workflows/ci.yml)\n[![License badge](https://img.shields.io/github/license/mfep/exercise-timer)](./LICENSE.txt)\n[![Flathub badge](https://img.shields.io/flathub/downloads/xyz.safeworlds.hiit?logo=flathub\u0026logoColor=white)](https://flathub.org/apps/details/xyz.safeworlds.hiit)\n![Platforms badge](https://img.shields.io/badge/platform-linux-informational)\n[![Translations badge](https://hosted.weblate.org/widget/exercise-timer/exercise-timer/svg-badge.svg?native=1)](https://hosted.weblate.org/projects/exercise-timer/exercise-timer/)\n[![dependency status](https://deps.rs/repo/github/mfep/exercise-timer/status.svg)](https://deps.rs/repo/github/mfep/exercise-timer)\n\nExercise Timer is a simple utility to conduct interval training. It is built for the GNOME desktop using [libadwaita](https://gnome.pages.gitlab.gnome.org/libadwaita/doc/1.4/index.html) and [Relm4](https://relm4.org/).\n\n\u003cimg alt=\"A screenshot of Exercise Timer's timer UI\" src=\"./data/screenshots/dark_timer.png\" width=400 /\u003e\n\u003cimg alt=\"A screenshot of Exercise Timer's exercise list UI\" src=\"./data/screenshots/dark_exercise_list.png\" width=400 /\u003e\n\n\u003c/div\u003e\n\n## 🏋️ Features \n- 💾 Save and recall presets containing the number of sets and the duration of the exercise, rest and preparation periods. \n- 🔊 A beeping sound is played at- and prior to each transition. \n- 🗣️ The volume of the sound can be adjusted.\n- ☯️ Light and dark mode follows the system's setting.\n\n## Installing\n\nThe recommended way of installing Exercise Timer is via Flathub.\n\n\u003ca href=\"https://flathub.org/apps/details/xyz.safeworlds.hiit\" target=\"_blank\"\u003e\u003cimg width='240' alt='Get it on Flathub' src='https://flathub.org/api/badge?locale=en'/\u003e\u003c/a\u003e\n\n## 🛠️ Building the Flatpak\n\n1. If not present, install `flatpak-builder`. It is most probably available in the operating system's package repository. E.g. on Fedora:\n\n```bash\n$ sudo dnf install -y flatpak-builder\n```\n\n2. If not present, add Flathub as a flatpak remote.\n\n```bash\n$ flatpak remote-add --user --if-not-exists flathub-verified https://flathub.org/repo/flathub.flatpakrepo\n```\n\n3. If not present, install the GNOME 47 Flatpak runtime and SDK and the Freedesktop SDK Rust and LLVM extensions.\n\n```bash\n$ flatpak install --user org.gnome.{Sdk,Platform}//47 org.freedesktop.Sdk.Extension.{rust-stable,llvm18}//24.08\n```\n\n4. Clone the current repository. Be aware that the binary assets are hosted in git LFS. **git LFS must be installed on the system to perform a proper checkout!**\n\n```bash\n$ git clone https://github.com/mfep/exercise-timer.git\n```\n\n5. Build and install Exercise Timer with `flatpak-builder`!\n\n```bash\n$ cd exercise-timer\n$ flatpak-builder --user --install --force-clean build ./build-aux/xyz.safeworlds.hiit.Devel.json\n```\n\n## 🧑‍🤝‍🧑 Contributing\n\n### Translations\n\nExercise Timer is translated via [Weblate](https://hosted.weblate.org/projects/exercise-timer/exercise-timer/). Fixes to existing translations as well as translating to new languages are welcome!\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://hosted.weblate.org/engage/exercise-timer/\"\u003e\n    \u003cimg src=\"https://hosted.weblate.org/widget/exercise-timer/exercise-timer/multi-auto.svg\" alt=\"Translation status\" /\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n### Development\n\nPRs and feedback in the form of issues are most welcome.\n\n### Code of Conduct\n\nThis project follows the [GNOME Code of Conduct](https://conduct.gnome.org/).\n\n## ✍️ License\n\nThis work is licensed under the GNU GPLv3. See [LICENSE](./LICENSE) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmfep%2Fexercise-timer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmfep%2Fexercise-timer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmfep%2Fexercise-timer/lists"}