{"id":38793495,"url":"https://github.com/seifertd/chord-practice","last_synced_at":"2026-01-17T12:40:34.359Z","repository":{"id":38535276,"uuid":"83562506","full_name":"seifertd/chord-practice","owner":"seifertd","description":"vue.js and rails web app for tracking chord change practice","archived":false,"fork":false,"pushed_at":"2025-09-01T05:22:49.000Z","size":3089,"stargazers_count":0,"open_issues_count":4,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-09-01T05:52:27.265Z","etag":null,"topics":["chord-practice","chord-switching","guitar-chords","practice","rails","ruby","vue"],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/seifertd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2017-03-01T14:18:34.000Z","updated_at":"2025-09-01T03:26:34.000Z","dependencies_parsed_at":"2024-03-01T04:29:22.313Z","dependency_job_id":"d36660bb-64f3-4ac7-9060-d9b41dfcf902","html_url":"https://github.com/seifertd/chord-practice","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/seifertd/chord-practice","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seifertd%2Fchord-practice","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seifertd%2Fchord-practice/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seifertd%2Fchord-practice/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seifertd%2Fchord-practice/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/seifertd","download_url":"https://codeload.github.com/seifertd/chord-practice/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seifertd%2Fchord-practice/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28508523,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T11:50:55.898Z","status":"ssl_error","status_checked_at":"2026-01-17T11:50:55.569Z","response_time":85,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["chord-practice","chord-switching","guitar-chords","practice","rails","ruby","vue"],"created_at":"2026-01-17T12:40:34.290Z","updated_at":"2026-01-17T12:40:34.346Z","avatar_url":"https://github.com/seifertd.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Chord Practice\n\nThis web applications allows people learning guitar to practice and track progress\nof chord switching. While learning guitar, it is important to exercise your muscle\nmemory by switching between chords. This app tracks a user's known chords (from\na library of them) and will run chord switching practice sessions, tracking the number\nof switches the guitarist can make between a given pair of chords. Each practice\nsession consists of practicing switches between a configurable number of chord pairs\nfor a configurable duration.  Statistics over time are kept and can be graphed to\ntrack progress.\n\n## Data Model\n\n```\n+-----------+    +--------------+    +--------------+\n|  Player   |    |  Session     |    |  Pair        |\n+-----------+    +--------------+    +--------------+\n| * chords  |1  N| * created_at |1  N| * first      |\n| * name    +----+ * duration   +----+ * second     |\n| * uuid    |    |              |    | * switches   |\n|           |    |              |    |              |\n+-----------+    +--------------+    +--------------+\n```\n\n## Development\n\nThis app is a Ruby on Rails web application which runs under the version of ruby specified\nin the .ruby-version file. It makes use of the vue.js component framework for the UI. The\napplication skeleton is based on the browserify vue and Rails integration by Chris V. Fritz:\nhttps://github.com/chrisvfritz/rails-javascript-integrations/compare/master...vue-browserify.\n\nThe version of node needed to run the application is specified in the .npmrc file.\n\nYou must have a working ruby and node environment in order to run this application.\n\n### Setup\n\n```bash\ngem install bundler\nbundle install\nnpm install\n```\n\n### Running the development server\n\nThe development server uses foreman to launch Rails and a watchify process that\nrecompiles the frontend UI whenever any of the Vue.js components are added or updated.\n\n```bash\nforeman start -f Procfile.dev\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseifertd%2Fchord-practice","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fseifertd%2Fchord-practice","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseifertd%2Fchord-practice/lists"}