{"id":20453240,"url":"https://github.com/danekf/focustime","last_synced_at":"2026-05-31T22:31:15.052Z","repository":{"id":180161667,"uuid":"664694955","full_name":"danekf/focusTime","owner":"danekf","description":"A short term focus aid. Set a time you want to focus for. Connect to web player and play new songs until the timer is up.","archived":false,"fork":false,"pushed_at":"2023-07-10T17:04:27.000Z","size":55365,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-05T09:49:35.193Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/danekf.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}},"created_at":"2023-07-10T14:39:59.000Z","updated_at":"2023-09-27T18:26:57.000Z","dependencies_parsed_at":null,"dependency_job_id":"7be6315e-5831-4ece-9a54-39e0d19e3b54","html_url":"https://github.com/danekf/focusTime","commit_stats":null,"previous_names":["danekf/focustime"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/danekf/focusTime","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danekf%2FfocusTime","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danekf%2FfocusTime/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danekf%2FfocusTime/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danekf%2FfocusTime/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danekf","download_url":"https://codeload.github.com/danekf/focusTime/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danekf%2FfocusTime/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33752286,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-31T02:00:06.040Z","response_time":95,"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":[],"created_at":"2024-11-15T11:12:13.031Z","updated_at":"2026-05-31T22:31:15.036Z","avatar_url":"https://github.com/danekf.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Focus Time\nA  short term focus aid. Set a time you want to focus for. Connects to a web player(currently only spotify) and play new songs until the timer is up. Once the timer is up, the current song finishes and then no more songs are played.\n\n## Dependencies\nreact router dom\nredux toolkit\nredux\nredux persist\n\n## Setup\n\u003col\u003e\n  \u003cli\u003eCreate app using spotify dev using the [spotify dashboard](https://developer.spotify.com/dashboard)\u003c/li\u003e\n  \u003cli\u003eSet redrect URI when creating app to homepage (or http://localhost:3000 during development) \u003c/li\u003e\n  \u003cli\u003eCreate new .env file, using example given.\u003c/li\u003e\n  \u003cli\u003eSet REACT_APP_HOME_URI in env to URI set in previous step.\u003c/li\u003e\n  \u003cli\u003eGet client ID from dashboard of new app, set REACT_APP_SPOTIFY_CLIENT_ID to the client ID given by spotify.\u003c/li\u003e\n\u003c/ol\u003e\n\n## TO DO\n\n\u003cul\u003e\n\n  \u003cli\u003eMove login token to redux persisted state, on login page. Is currently just proof that spotify login works.\n    \u003cul\u003e\n      \u003cli\u003euse persisted user info to show username in menu bar.\u003c/li\u003e\n    \u003c/ul\u003e\n  \u003c/li\u003e\n\n  \u003cli\u003eAllow redirect to more than just homepage, when logging in. Will require allowing more pages of redirects on spotify login when done.\u003c/li\u003e\n\u003c/ul\u003e\n\n\n## Minimum Viable Product requirements\n\n-[ ] Spotify Login\n-[ ] Ability to control music\n-[ ] Auto stop music once timer is over, and song has finished (do not interupt current song until it is over)\n-[ ] Pause timer if music is paused (thoug this should be an aid to focus without interuption, sometimes interuptions STILL happen.)\n-[ ] Visual fanfare when focus time is completed.\n\n## Stretch Goals\n\n-[ ] Signed in user can track stats.\n  -[ ] Focus minutes per day.\n  -[ ] Focus minutes per week.\n  -[ ] Track pasues to focus time.\n  -[ ] Most productive times of day.\n  -[ ] Most productive playlists.\n\n-[ ] Set goals to achieve for time focused.\n\n\n## Super stretch/silly ideas\n\n-[ ] Crypto integration with smart contracts. Once certain focus goals are met, automatically release some \"FUN\" funds that can be used towards activities. \n  -[ ] Parent control/smart contract rewards for child accounts?\n  -[ ] How to validate focus time is not cheated? (Honour system is not ideal if child account.)\n\n-[ ] Leaderboards?\n-[ ] Groups?\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanekf%2Ffocustime","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanekf%2Ffocustime","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanekf%2Ffocustime/lists"}