{"id":13850158,"url":"https://github.com/prikhi/bodyweight-client","last_synced_at":"2025-10-29T10:30:34.486Z","repository":{"id":80049197,"uuid":"55448850","full_name":"prikhi/bodyweight-client","owner":"prikhi","description":"An Elm Frontend for a BodyWeight Workout Logging Application.","archived":false,"fork":false,"pushed_at":"2017-07-19T10:48:18.000Z","size":159,"stargazers_count":26,"open_issues_count":0,"forks_count":3,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-02-02T01:01:50.425Z","etag":null,"topics":["bodyweight","elm","routines","workouts"],"latest_commit_sha":null,"homepage":"","language":"Elm","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/prikhi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-04-04T22:06:49.000Z","updated_at":"2019-06-28T07:23:10.000Z","dependencies_parsed_at":null,"dependency_job_id":"6cb2a45d-4b4a-4ce7-afb8-e3b687b130fa","html_url":"https://github.com/prikhi/bodyweight-client","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prikhi%2Fbodyweight-client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prikhi%2Fbodyweight-client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prikhi%2Fbodyweight-client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prikhi%2Fbodyweight-client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/prikhi","download_url":"https://codeload.github.com/prikhi/bodyweight-client/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238803512,"owners_count":19533331,"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":["bodyweight","elm","routines","workouts"],"created_at":"2024-08-04T20:01:00.327Z","updated_at":"2025-10-29T10:30:34.167Z","avatar_url":"https://github.com/prikhi.png","language":"Elm","funding_links":[],"categories":["Elm"],"sub_categories":[],"readme":"# Bodyweight Client\n\n[![Build Status](https://travis-ci.org/prikhi/bodyweight-client.svg?branch=master)](https://travis-ci.org/prikhi/bodyweight-client)\n\nA Bodyweight Workout Log frontend written in Elm.\n\nRight now only the following is supported:\n\n* Creating an Account\n* Viewing Routines \u0026 individual Exercises\n* Registered Users can Create/Edit/Delete their Routines\n* Admins can Create/Edit/Delete Exercises\n\n\nEventually we will support:\n\n* Subscribing to Routines \u0026 Logging Workouts\n* Exporting Routines \u0026 Log Entries (Markdown, CSV)\n* Reports \u0026 Graphs\n\n\nThe API server lives in a [separate\nrepository](https://github.com/prikhi/bodyweight-server), but the two repos\nwill probably be merged at some point.\n\n# Setup\n\n```\nnpm i\nnpm run dev\nopen http://localhost:7000\n```\n\n# Tests\n\n```\nnpm run test-watch\n```\n\n# TODO\n\nThis is a mix of client \u0026 server stuffs... We should probably consolidate the\nclient \u0026 server repositories since they are tightly integrated.\n\n* Add Screenshot to README\n* Refactor view/model folders into folders by datatype(`routines/model`)?\n* Refactor API Command Messages into separate Message Type \u0026 Update Function\n* Refactor model data into Dicts?\n* Refactor Routine Page Messages into separate type?\n* Reduce server queries(only load necessary sections, exercises, etc.)\n* Fix 404 flash on initial load\n* Add Exercise Form\n    * Non-admin users can suggest new exercises or changes to exercises\n    * Radio buttons for Reps/Holds instead of checkbox\n        * Switch backend from bool to union type\n    * Strip URL from Youtube/Amazon ID fields\n    * Error messages!\n* Exercises\n    * Embed Amazon Products in Pages\n    * Cards w/ YT Vid Embeds for Exercises Page, w/ toggle table/cards button\n    * Filters Exercises page for Reps-only or Holds-only\n* Add Routine Form\n    * Refactor RoutineChange Messages into separate updateRoutineForm func/msg\n    * Autocomplete Exercise Selects\n    * Disable Save/Reset if no changes(for routines, sections, \u0026 exercises)\n    * Default reps/hold time/reps to progress per section \u0026 routine\n    * Add Up/Down Arrows for Exercise Progressions?\n    * Review the BWF subreddit routine, see if all information could be entered\n      into our form\n    * Error messages!\n* Routines\n    * Fetch only relevant sections/exercises on View/Edit Routine pages,\n      instead of all of them(or sideload the related resources in the\n      routine's response)\n    * Export to CSV \u0026 Markdown(markdown useful for posting to reddit)\n    * Multiple Editors\n* Add Routine Logging Forms\n    * Log an already completed workout\n    * Log a workout as you complete it\n* Routine Logs\n    * View progress for a whole routine or specific exercise/progression, maybe\n      a table \u0026 graph showing logged reps/time.\n    * Export all logs to Excel \u0026 CSV\n    * Export single log to Markdown\n* Users\n    * Login/logout of all open tabs(watch for `window.storage` event)\n    * Profiles \u0026 profile pages\n        * Name\n        * Subscribed routines\n        * Created routines\n        * Logged workouts\n        * Reddit/twitter/facebook username\n    * Page for admin users to see exercises w/o YouTube or Amazon links\n    * Only a user can see their private routines\n    * User can subscribe to a routine(Add subscriber count to Routines table)\n    * Email field \u0026 lost password functionality\n* Homepage\n    * Short description of BWF\n    * For anonymous users, benefits of registering(add/sub/log routines)\n    * Links to subreddit\n    * Links to a User's subscribed routines \u0026 logging form for those routines\n    * Random Exercise w/ Video \u0026 Description?\n* Sharing private routines w/ users\n    * Password-protected\n    * Subscribe Link\n    * ?Share w/ specific users?\n* Routine Feedback\n    * Allow users to comment on routines\n    * Versioning of routines, with list of changes between each version\n      (this is complex, how would we handle logs of old versions?)\n\n* Data Validation(backend \u0026 frontend)\n    * Routines\n        * Author cannot change\n        * To Progress must be greater than or equal to Reps/Hold Time\n        * Exercises in a single progression cannot be repeated\n        * Sections must have at least 1 SectionExercise\n        * Sets/Reps/Time/Progress cannot be 0\n        * SectionExercises must have at least one Exercise\n        * Section names cannot be blank\n        * Routine names cannot be blank\n    * Exercises\n        * Has name\n        * Valid Youtube/Amazon IDs\n\n# License\n\nGPL-3.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprikhi%2Fbodyweight-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprikhi%2Fbodyweight-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprikhi%2Fbodyweight-client/lists"}