{"id":16329030,"url":"https://github.com/thudsonbu/breadboard","last_synced_at":"2026-01-03T10:04:24.224Z","repository":{"id":40234435,"uuid":"398656990","full_name":"thudsonbu/breadboard","owner":"thudsonbu","description":"A microservice that syncs up some of the apps that I use. Currently habitica and todoist.","archived":false,"fork":false,"pushed_at":"2023-07-15T21:45:54.000Z","size":905,"stargazers_count":2,"open_issues_count":5,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-05T11:38:52.544Z","etag":null,"topics":["adapter-pattern","hapijs","mongodb","nodejs","rest-api","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/thudsonbu.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}},"created_at":"2021-08-21T21:10:50.000Z","updated_at":"2023-08-24T20:37:28.000Z","dependencies_parsed_at":"2023-02-18T19:31:24.064Z","dependency_job_id":null,"html_url":"https://github.com/thudsonbu/breadboard","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/thudsonbu%2Fbreadboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thudsonbu%2Fbreadboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thudsonbu%2Fbreadboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thudsonbu%2Fbreadboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thudsonbu","download_url":"https://codeload.github.com/thudsonbu/breadboard/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238212364,"owners_count":19434950,"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":["adapter-pattern","hapijs","mongodb","nodejs","rest-api","typescript"],"created_at":"2024-10-10T23:14:39.237Z","updated_at":"2025-10-25T21:30:53.730Z","avatar_url":"https://github.com/thudsonbu.png","language":"TypeScript","readme":"# Breadboard\n\nBreadboard is a micro service that receives webhooks from Todoist and Habitica\nand keeps them in sync. It runs on node.js and uses the\n[hapi](https://hapi.dev/) backend framework.\n\n# Usage\n\nTo use integrations, you need to create a new application from the\n[applications menu](https://developer.todoist.com/appconsole.html) in Todoist.\nSet the OAuth redirect URL to http://localhost:3232. Next, you can use the\ncommand `npm run o-auth` to retrieve an o-auth url which will guide you\nthrough the OAuth process and output todoist credentials for integrations. (You\nmight need to clear your cookies before this).\n\nThe token that you received will be added as an environment during deployment:\n\n```bash\nTODOIST_REST_API_TOKEN=\"token_from_browser\" node lib/index.js\n```\n\nHabitica doesn't require the OAuth flow to be completed. Instead you can instead\nvisit the [api settings page](https://habitica.com/user/settings/api) and crab\nthe user id and client id. These keys are also added as environment variables\nduring deployment:\n\n```bash\nHABITICA_USER_ID=\"user_id\",\nHABITICA_API_KEY=\"api_token\",\n```\n\nHabitica doesn't allow apps to be configured in an integrations console like\nTodoist. Instead, you need to hit their api to create them. You can use\n`npm run setup-webhooks` with the habitica environmental variables added to a\nrun a script that will guide you through that process.\n\nWith those files in place, Breadboard is ready to be built and deployed.\n\n# Development\n\n[Kanban](https://www.notion.so/thomashudsonnotes/7decf642e29a4b0c85f68ab67590bd4f?v=858a547724424c4fb24c1926845db39a)\n","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthudsonbu%2Fbreadboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthudsonbu%2Fbreadboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthudsonbu%2Fbreadboard/lists"}