MCPcopy Index your code
hub / github.com/ProgressiveCoders/Spoke

github.com/ProgressiveCoders/Spoke @v14.1.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release v14.1.2 ↗ · + Follow
1,649 symbols 4,309 edges 528 files 14 documented · 1%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Contributor Covenant

Spoke History

Spoke is an open source text-distribution tool for organizations to mobilize supporters and members into action. Spoke allows you to upload phone numbers, customize scripts and assign volunteers to communicate with supporters while allowing organizations to manage the process.

Spoke was created by Saikat Chakrabarti and Sheena Pakanati.

On November 19th, 2023, the repo Spoke was transferred from MoveOn to State Voices.

The latest version can be found here: Release Notes

Setting up Spoke

The easiest way to get started is with Heroku. You can also learn about Spoke through the texter and admin video demos or in the explanation on how to decide if Spoke is right for you.

For developers, please see our recommendations for deploying locally for development.

Want to know more? Click here to visit the Spoke Documentation microsite!

Quick Start with Heroku

This version of Spoke suitable for testing and, potentially, for small campaigns. This won't cost any money and will not support production(aka large-scale) usage. It's a great way to practice deploying Spoke or see it in action.

Deploy

Follow up instructions located here.

NOTE: You can upgrade this deployment later for use in a production setting, but keep in mind you will need to migrate data from any prior campaigns. Thus it is best to upgrade before you start any live campaigns. This will cost ~$75 ($25 dyno + \$50 postgres) a month and should be suitable for production level usage for most organizations. We recommend that if you plan to use Spoke at scale that you use this link to deploy with a production infrastructure from the start!

Other Options for Production Use

You can also deploy on AWS Lambda. which is a lot cheaper than Heroku at scale, but requires considerably more technical knowledge to deploy and maintain. We recommend this option for large scale campaigns with tech resources.

Additional guidance:

License

Spoke is licensed under the GPL3 license with a special author attribution requirement.

Core symbols most depended-on inside this repo

getConfig
called by 254
src/server/api/lib/config.js
runGql
called by 106
__test__/test_helpers.js
accessRequired
called by 95
src/server/api/errors.js
dataTest
called by 83
src/lib/attributes.js
requiredString
called by 56
src/server/models/custom-types.js
onChange
called by 46
src/components/ScriptEditor.jsx
isBetweenTextingHours
called by 46
src/lib/timezones.js
optionalString
called by 38
src/server/models/custom-types.js

Shape

Function 1,061
Method 350
Class 238

Languages

TypeScript100%

Modules by API surface

src/extensions/service-vendors/twilio/index.js35 symbols
__test__/test_helpers.js35 symbols
src/server/api/lib/import-script.js30 symbols
src/workers/jobs.js26 symbols
src/components/AssignmentTexter/Controls.jsx25 symbols
src/containers/AdminCampaignList.jsx23 symbols
src/components/ScriptEditor.jsx18 symbols
src/containers/AdminCampaignEdit.jsx17 symbols
src/extensions/contact-loaders/ngpvan/index.js16 symbols
src/extensions/action-handlers/index.js16 symbols
src/components/CampaignPhoneNumbersForm.jsx16 symbols
src/extensions/contact-loaders/civicrm/util.js15 symbols

For agents

$ claude mcp add Spoke \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact