Skip to content
Merged

14.1 #2444

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
201 commits
Select commit Hold shift + click to select a range
3a39a6c
Cascade delete interaction step
crayolakat Dec 1, 2022
2fd7b02
Add catch
crayolakat Dec 13, 2022
99aee7f
Change console.log to console.error
crayolakat Dec 21, 2022
254ba40
Merge branch 'main' into cascade_delete_interaction_step
crayolakat Feb 3, 2023
383c065
SQLite adjustments
crayolakat Feb 3, 2023
bb47f9f
Update bug_report.md
crayolakat Mar 23, 2023
40095d9
Get contactTimezones when not caching
crayolakat Sep 29, 2023
27fef93
Grant permission to public schema
crayolakat Oct 6, 2023
b62af01
bulk send batch progress UI
codygordon Oct 9, 2023
9b6ae4c
remove package.json browser crypto fix
codygordon Oct 9, 2023
f2b1689
Update HOWTO-configure-auth0.md
crayolakat Oct 13, 2023
7e6cdf2
increase actions test timeouts to 15 min
codygordon Oct 27, 2023
27b6f29
Update release notes
crayolakat Dec 8, 2023
c2df884
Merge branch 'kathy_catch_batch_insert' into main-stage-13.2.0
crayolakat Dec 8, 2023
cd105b4
Merge branch 'kathy-update-bug-report-template' into main-stage-13.2.0
crayolakat Dec 8, 2023
1c0eba3
Update RELEASE_NOTES.md
crayolakat Dec 8, 2023
09ebfc9
Merge branch 'kathy-fix-contact-timezones' into main-stage-13.2.0
crayolakat Dec 8, 2023
9555186
Update RELEASE_NOTES.md
crayolakat Dec 8, 2023
f8b256e
Merge branch 'bulk-send-progress-ui' into main-stage-13.2.0
crayolakat Dec 8, 2023
4d3b134
Update RELEASE_NOTES.md
crayolakat Dec 8, 2023
baaa269
Merge branch 'kathy-pg-compatibility' into main-stage-13.2.0
crayolakat Dec 8, 2023
30c56fc
Update RELEASE_NOTES.md
crayolakat Dec 8, 2023
64efc80
Merge branch 'kathy-update-auth0-rule' into main-stage-13.2.0
crayolakat Dec 8, 2023
c822e8d
Update RELEASE_NOTES.md
crayolakat Dec 8, 2023
edad853
Update README.md to reflect the state of the Spoke hand off
ibrand Dec 20, 2023
47ae9de
add remote switching to the README
ibrand Dec 20, 2023
39422f3
Merge pull request #5 from MoveOnOrg/ibrand-patch-1
ibrand Dec 21, 2023
49415b9
Merge branch 'main-stage-13.2.0'
crayolakat Jan 9, 2024
d43a128
Update HOWTO-use_bulk_sending.md
crayolakat Jan 12, 2024
99acc07
Update Bandwidth docs
crayolakat Jan 12, 2024
45a2479
Mutation skeleton
crayolakat Jan 13, 2024
4d25ef7
Schema change
crayolakat Jan 16, 2024
f0ea457
Update opt out message with something
crayolakat Jan 19, 2024
4b07428
Add default message to mutation
crayolakat Jan 19, 2024
4065501
Caching stub
crayolakat Jan 26, 2024
3cd35b9
Remove unneeded code
crayolakat Jan 26, 2024
632389d
Implement caching
crayolakat Jan 29, 2024
6de7c53
Update OPT_OUT_PER_STATE description
crayolakat Jan 29, 2024
fdf789b
Address SonarCloud issues
crayolakat Jan 29, 2024
1bc2542
Rebuild yarn.lock file
crayolakat Jan 29, 2024
5f4153c
Revert "Rebuild yarn.lock file"
crayolakat Jan 29, 2024
4a64fb1
Add assignment load limit
crayolakat Jan 31, 2024
89e4a4e
Import cjs axios build
crayolakat Feb 1, 2024
bcd31a1
Upgrade Cypress
crayolakat Feb 1, 2024
ee50bf2
Add mutations prop
crayolakat Feb 1, 2024
56a979b
Add CPA to auto optout
crayolakat Feb 2, 2024
8edbcc0
Add Smarty env vars
crayolakat Feb 2, 2024
b4bd45d
Use organizationId variable
crayolakat Feb 14, 2024
fcf7b67
Address SonarCloud issue
crayolakat Feb 21, 2024
b8ac77b
Update nesting
crayolakat Feb 21, 2024
d441c03
Refactor for SonarCloud
crayolakat Feb 21, 2024
38187bb
Update for SonarCloud
crayolakat Feb 21, 2024
8abcdfa
Address SonarCloud issue
crayolakat Feb 21, 2024
f19483c
Address SonarCloud
crayolakat Feb 21, 2024
cb70095
Address SonarCloud issue
crayolakat Feb 21, 2024
2608d70
Address SonarCloud nesting
crayolakat Feb 21, 2024
774ad1b
Address SonarCloud nesting
crayolakat Feb 21, 2024
6e03023
Address SonarCloud nesting
crayolakat Feb 21, 2024
980390d
Fix SonarCloud nesting issues
crayolakat Feb 21, 2024
b0b5345
Address SonarCloud nesting
crayolakat Feb 21, 2024
bbaa85a
Remove code duplication
crayolakat Feb 22, 2024
2e22a88
Address SonarCloud issues
crayolakat Feb 22, 2024
bab1160
Refactor test for SonarCloud
crayolakat Feb 23, 2024
7e8e5ad
Refactor for SonarCloud issues
crayolakat Feb 23, 2024
68c1e47
Reduce code duplication
crayolakat Feb 23, 2024
ddd9221
Delete CampaignInteractionStepsForm.test copy.js
crayolakat Feb 23, 2024
acede3f
Implement zip caching
crayolakat Feb 24, 2024
476f2ae
Merge pull request #10 from StateVoicesNational/cascade_delete_intera…
crayolakat Feb 29, 2024
b8b651f
Merge pull request #8 from MoveOnOrg/kathy-cpa
crayolakat Feb 29, 2024
e2d1d44
Merge branch 'main' into kathy-fix-504-bulk
crayolakat Mar 4, 2024
bfee000
Update test
crayolakat Mar 5, 2024
f9d00b7
Add jest tests
crayolakat Mar 6, 2024
de558ff
Merge pull request #9 from MoveOnOrg/kathy-fix-504-bulk
crayolakat Mar 8, 2024
19de49a
Update build-image.yaml
crayolakat Mar 8, 2024
6a9238b
Test GHCR
crayolakat Mar 8, 2024
a0ab2ea
Update build-image.yaml
crayolakat Mar 8, 2024
7cf51d4
Change branch name to main
crayolakat Mar 8, 2024
9caf12b
Revert "Update build-image.yaml"
crayolakat Mar 8, 2024
42fd005
Merge branch 'main' into kathy-ghcr
crayolakat Mar 8, 2024
816fd7d
Merge pull request #12 from MoveOnOrg/kathy-ghcr
crayolakat Mar 8, 2024
5e31328
Dynamic replies initial implementation
sjwmoveon May 3, 2024
ddcd444
Update campaign_contact.updated_at on change
sjwmoveon May 3, 2024
226f4e0
Only run migration on postgres, not sqlite
sjwmoveon May 3, 2024
454e1db
Fix comments
sjwmoveon May 3, 2024
217d23a
Merge campaign_contact.updated_at fix
sjwmoveon May 3, 2024
4be13a6
Add test for dynamicReassign method
sjwmoveon May 3, 2024
de74eb9
Merge pull request #13 from MoveOnOrg/updatedat
sjwmoveon May 3, 2024
0dfcea5
Use 'joinToken' in place of 'organizationUuid' since we are actually …
sjwmoveon May 3, 2024
77cc415
Merge pull request #14 from MoveOnOrg/dynamicreplies
sjwmoveon May 7, 2024
716a154
Fix SonarCloud alert
sjwmoveon May 15, 2024
5941cc5
Merge pull request #16 from MoveOnOrg/sjwmoveon-patch-1
sjwmoveon May 15, 2024
14a5673
retrigger checks
sjwmoveon May 15, 2024
f01f203
retrigger checks x2
sjwmoveon May 15, 2024
22977c9
retrigger checks x3
technicalex May 15, 2024
4396bba
Fix typo (#2375)
mau11 Jul 5, 2024
da0cf70
Better logs V2 (#2376)
engelhartrueben Jul 5, 2024
f64b00d
Package upgrades for 14.1 (#2377)
engelhartrueben Jul 10, 2024
12e175c
Upgrade cypress from 5.6.0 to 13.11.0
stefanhayden Jun 8, 2024
0cdb65e
Upgrade dotenv to 16.4.5 (#2370)
stefanhayden Jul 11, 2024
0128bc8
Bump http-cache-semantics from 4.1.0 to 4.1.1 (#2260)
dependabot[bot] Jul 17, 2024
79bb168
Add WSL to development DOCS (#2378)
engelhartrueben Jul 17, 2024
c580b6b
replaced soon to be deprecated set-output w/ patch (#2380)
engelhartrueben Jul 18, 2024
bf38990
move webpack-cli to deps instead of dev deps (#2381)
engelhartrueben Jul 18, 2024
16a0f1b
Typos. Typos. Typos (#2387)
engelhartrueben Jul 24, 2024
4344389
.timeout() is not supported by sqlite.
engelhartrueben Jul 24, 2024
ac9e25c
Bump mockdate from 2.0.5 to 3.0.5 (#2399)
dependabot[bot] Jul 25, 2024
2f206b8
Bump wait-for-expect from 1.3.0 to 3.0.2 (#2400)
dependabot[bot] Jul 25, 2024
6613eb6
Merge branch 'main' into stage-main-14.1
engelhartrueben Jul 25, 2024
56ab2a9
use built in 'isSqlite' instead of calling getConfig
engelhartrueben Jul 25, 2024
41c96dd
added pre-resolver for updated.at that was causing issues in sqlite
engelhartrueben Jul 26, 2024
4999959
allow [Yes] as a quesiton answer, not just "Yes:"
sduveen-pivot Jul 29, 2024
d8608c4
grouped survey responses both by questions and answers
sduveen-pivot Jul 30, 2024
1ba14cc
Bump aws-sdk from 2.1655.0 to 2.1664.0 (#2407)
dependabot[bot] Jul 30, 2024
03380d0
Bump @babel/traverse from 7.23.2 to 7.25.1 (#2406)
dependabot[bot] Jul 30, 2024
58acd61
Bump @aws-sdk/client-cloudwatch-events from 3.609.0 to 3.620.0 (#2404)
dependabot[bot] Jul 30, 2024
ad41f99
Bump mailgun-js from 0.20.0 to 0.22.0 (#2394)
dependabot[bot] Jul 30, 2024
cdeed25
Remove MoveOn specific updates and clean up
mau11 Jul 30, 2024
64c9684
Revert "Upgrade Cypress"
mau11 Jul 30, 2024
ea251f3
Merge branch 'stage-main-14.1' into MoveOnOrg/main
mau11 Jul 30, 2024
50d5ea4
Re-add models update from commit #64c96849
mau11 Jul 31, 2024
2822230
Merge remote-tracking branch 'origin/main' into group-survey
sduveen-pivot Aug 3, 2024
e2d55c7
Bump eslint-plugin-react from 7.34.3 to 7.35.0
dependabot[bot] Aug 5, 2024
7a0a619
past-contacts fixed from query-string import
sduveen-pivot Aug 9, 2024
ff09b39
organizations sorted in user menu
mcverter Aug 9, 2024
c89fefc
use relative paths for markdown links
mcverter Aug 9, 2024
200fb67
push shortcode update to 14.1 branch
mabrownnyu Aug 11, 2024
c7edaa0
Merge branch 'main' into stage-main-14.1
mau11 Aug 12, 2024
bd71be3
Merge pull request #2415 from schuyler1d/bug/past-contacts
mau11 Aug 12, 2024
c733f1a
CollapsibleCard(s) for AdminCampaignStats for lower default renders a…
sduveen-pivot Aug 13, 2024
105ba01
Remove console.logs and linter edits
mau11 Aug 13, 2024
47e85d4
Merge branch 'stage-main-14.1' into mz/merge-moveon-14.1
mau11 Aug 13, 2024
86c31bd
update phone number button names
mabrownnyu Aug 14, 2024
8562ac5
Merge pull request #2422 from StateVoicesNational/phone_inventory_test
mau11 Aug 15, 2024
b70620d
Merge branch 'stage-main-14.1' into mz/merge-moveon-14.1
mau11 Aug 15, 2024
ec04d8c
Revert "Remove console.logs and linter edits"
mau11 Aug 15, 2024
cf87e1c
allow for client side access to client_email found in GOOGLE_SECRET
engelhartrueben Aug 15, 2024
a35b9dd
add google client URL to front end for easy sharing
engelhartrueben Aug 15, 2024
ee1ff6b
change google api scope to read only
engelhartrueben Aug 16, 2024
6cf0a64
add protection agains bad env variable
engelhartrueben Aug 16, 2024
b7d1f6e
return client email
engelhartrueben Aug 16, 2024
60cf202
remove finally to instead return nothing if all else fails
engelhartrueben Aug 16, 2024
0419c32
move google client email function logic outside of html export
engelhartrueben Aug 19, 2024
5eed34a
push to clean up locally
engelhartrueben Aug 19, 2024
3c4de5d
clean up ++ add filter to remove spaces in client email
engelhartrueben Aug 19, 2024
9be5327
render google client email ++ error message
engelhartrueben Aug 19, 2024
c5ca5b0
replace >> replaceAll
engelhartrueben Aug 19, 2024
d1106bb
Allow org-specific message handlers
jeffm2001 Aug 20, 2024
e6e0235
Merge pull request #2414 from StateVoicesNational/dependabot/npm_and_…
dependabot[bot] Aug 26, 2024
7e190e8
Merge remote-tracking branch 'origin/main' into group-survey
sduveen-pivot Aug 28, 2024
ed8a98a
group survey: correct console.log errors and style
sduveen-pivot Aug 28, 2024
db153ba
Merge branch 'stage-main-14.1' into mz/merge-moveon-14.1
mau11 Sep 4, 2024
cecc5ff
Fix failing sqlite test
mau11 Sep 4, 2024
2f4d9f6
Merge branch 'main' into stage-main-14.1 :: To include 14.0.2 patch
engelhartrueben Sep 4, 2024
74558a6
Merge pull request #2389 from StateVoicesNational/re/fix-sqlite
engelhartrueben Sep 4, 2024
89fcd2e
Merge pull request #2408 from StateVoicesNational/group-survey
engelhartrueben Sep 4, 2024
7c28980
fixe function typeError
engelhartrueben Sep 4, 2024
1bf7c39
Merge pull request #2423 from StateVoicesNational/mz/merge-moveon-14.1
engelhartrueben Sep 4, 2024
3c2456e
Merge pull request #2431 from aflcio/org-message-handlers
mau11 Sep 4, 2024
1d2113b
Merge branch 'stage-main-14.1' into re/google-docs-integration-UI
engelhartrueben Sep 4, 2024
237fc52
Merge pull request #2432 from StateVoicesNational/re/google-docs-inte…
mau11 Sep 4, 2024
b7985fb
Merge pull request #2371 from StateVoicesNational/stefanhayden/cypres…
mau11 Sep 4, 2024
32f2d70
Merge pull request #2417 from mcverter/mverter/relative-links-in-mark…
engelhartrueben Sep 5, 2024
7675125
Merge pull request #2416 from mcverter/2201-alphabetize-orgs-right-menu
mau11 Sep 5, 2024
99ee3f0
re add old styling for floatingButton. Unsure where/why this was removed
engelhartrueben Sep 11, 2024
0978b3f
upgrade googleapis to 144.0.0
engelhartrueben Sep 12, 2024
2223882
use native abort controller
engelhartrueben Sep 12, 2024
6beed96
add error handling when parsing google secret
engelhartrueben Sep 12, 2024
7c2852c
add pm2 config file to gitignore
engelhartrueben Sep 12, 2024
87626a6
clean up logic
engelhartrueben Sep 12, 2024
f012fb9
attempt to get git hub actions to work
engelhartrueben Sep 12, 2024
e707bc1
Update texter view styling to be more responsive
mau11 Sep 12, 2024
a8c4686
upgrade upload artifact to V4. V2 was deprecated June 30, 2024.
engelhartrueben Sep 12, 2024
534dca5
Merge branch 'stage-main-14.1' into mz/update-texter-view-styling
mau11 Sep 12, 2024
25febbc
Add a function to convert string array to integer array
mau11 Sep 13, 2024
27d9e03
Fix type error when saving or deleting canned responses with tags
mau11 Sep 13, 2024
42f99ac
Fix hidden text when canned response contains an action handler
mau11 Sep 13, 2024
1d4ae9e
Merge pull request #2451 from StateVoicesNational/mz/update-texter-vi…
engelhartrueben Sep 13, 2024
d65e441
change GOOGLE_SECRET to BASE64_GOOGLE_SECRET
engelhartrueben Sep 13, 2024
794fe7d
adjust AWS deployment docs when talking about large env variables lik…
engelhartrueben Sep 13, 2024
292ff99
change docs to better represent current work flow + mention BASE64_GO…
engelhartrueben Sep 13, 2024
3d690b3
attempt to get base64 working
engelhartrueben Sep 13, 2024
5880eee
attempt to debug whats going on with JSON key
engelhartrueben Sep 16, 2024
ef4928b
change decode + debugging log
engelhartrueben Sep 16, 2024
e7ba1ea
new appraoch
engelhartrueben Sep 16, 2024
7abd287
add base64ToString to utils
engelhartrueben Sep 16, 2024
40aeb79
use base64ToString util
engelhartrueben Sep 16, 2024
bfb08f5
check arg
engelhartrueben Sep 16, 2024
1367b04
use base64ToString + remove logging
engelhartrueben Sep 16, 2024
f672300
add documentation on converting Google Secret JSON to Base64 for envi…
engelhartrueben Sep 16, 2024
0b8cfbc
review and clean up
engelhartrueben Sep 16, 2024
6f6fd49
Merge pull request #2455 from StateVoicesNational/re/google-api-stuff
engelhartrueben Sep 18, 2024
e5361e5
Revert "update phone number button names"
mau11 Sep 19, 2024
23f9733
Revert "push shortcode update to 14.1 branch"
mau11 Sep 19, 2024
f0ee27e
Merge pull request #2452 from StateVoicesNational/mz/canned-resp-type…
mau11 Sep 19, 2024
a5779a0
Merge pull request #2458 from StateVoicesNational/mz/revert-short-codes
mau11 Sep 19, 2024
920ddbb
Remove attempted reassignment of read-only object, nextProps
mau11 Sep 20, 2024
b51b7d9
add auto hide duration to replies alert
engelhartrueben Sep 20, 2024
c236951
Merge pull request #2459 from StateVoicesNational/mz/fix-white-screen…
engelhartrueben Sep 20, 2024
d3e28f3
Remove extra css - duplicate after reverting a commit that initially …
mau11 Sep 23, 2024
900f4d3
Update Spoke version and add release notes
mau11 Sep 23, 2024
92d3f86
14.0.2 >> 14.1.0
engelhartrueben Sep 23, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion .eslintrc
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
{
"extends": ["airbnb", "prettier"],
"parser": "@babel/eslint-parser",
"env": { "jest": true, "node": true, "browser": true, "jasmine": true }
"env": { "jest": true, "node": true, "browser": true, "jasmine": true },
"rules": {
"no-console": [
"warn",
{ "allow": ["warn", "error", "info", "time", "timeEnd"] }
]
}
}
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ If applicable, add screenshots to help explain your problem.
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Desktop or Mobile?
- Version [e.g. 22]
- Spoke Version: [e.g. 14.0.1]

**Additional context**
Add any other context about the problem here.
8 changes: 4 additions & 4 deletions .github/workflows/cypress-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on: [push]
jobs:
test:
runs-on: ubuntu-latest
timeout-minutes: 10
timeout-minutes: 15
strategy:
matrix:
node-version: [16.x]
Expand Down Expand Up @@ -53,13 +53,13 @@ jobs:
build: npm run prod-build
start: npm start
wait-on: 'http://localhost:3001'
- uses: actions/upload-artifact@v2
- uses: actions/upload-artifact@v4
if: failure()
with:
name: cypress-screenshots
path: cypress/screenshots
- uses: actions/upload-artifact@v2
- uses: actions/upload-artifact@v4
if: failure()
with:
name: cypress-videos
path: cypress/videos
path: cypress/videos
16 changes: 8 additions & 8 deletions .github/workflows/jest-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
timeout-minutes: 10
timeout-minutes: 15
strategy:
matrix:
node-version: [14.x, 15.x, 16.x, 18.x, 20.x]
Expand All @@ -30,7 +30,7 @@ jobs:
node-version: 20
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT
- uses: actions/cache@v4
id: yarn-cache
with:
Expand All @@ -44,7 +44,7 @@ jobs:
run: yarn test
test-rediscache-contactcache:
runs-on: ubuntu-latest
timeout-minutes: 10
timeout-minutes: 15
services:
redis:
image: redis
Expand All @@ -71,7 +71,7 @@ jobs:
node-version: 20
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT
- uses: actions/cache@v4
id: yarn-cache
with:
Expand All @@ -85,7 +85,7 @@ jobs:
run: yarn test-rediscache-contactcache
test-rediscache:
runs-on: ubuntu-latest
timeout-minutes: 10
timeout-minutes: 15
services:
redis:
image: redis
Expand All @@ -112,7 +112,7 @@ jobs:
node-version: 20
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT
- uses: actions/cache@v4
id: yarn-cache
with:
Expand All @@ -126,7 +126,7 @@ jobs:
run: yarn test-rediscache
test-sqlite:
runs-on: ubuntu-latest
timeout-minutes: 10
timeout-minutes: 15
services:
redis:
image: redis
Expand All @@ -140,7 +140,7 @@ jobs:

- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT
- uses: actions/cache@v4
id: yarn-cache
with:
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,4 @@ CONFIG_FILE.json
scratch/
cypress/screenshots
cypress/videos
spoke-pm2.config.js
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,17 @@ Spoke is an open source text-distribution tool for organizations to mobilize sup

Spoke was created by Saikat Chakrabarti and Sheena Pakanati.

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

The latest version is [14.0.2](https://github.com/StateVoicesNational/Spoke/tree/v14.0.2) (see [release notes](https://github.com/StateVoicesNational/Spoke/blob/main/docs/RELEASE_NOTES.md#v1402))
The latest version can be found here: [Release Notes](https://github.com/StateVoicesNational/Spoke/blob/main/docs/RELEASE_NOTES.md)


## Setting up Spoke


The easiest way to get started is with Heroku. You can also learn about Spoke through the [texter](https://youtu.be/EqE1UDvKGco) and [admin](https://youtu.be/PTMykMX8gII) video demos or in the explanation on [how to decide if Spoke is right for you.](/docs/EXPLANATION_DECIDING_ON_SPOKE.md)
The easiest way to get started is with Heroku. You can also learn about Spoke through the [texter](https://youtu.be/EqE1UDvKGco) and [admin](https://youtu.be/PTMykMX8gII) video demos or in the explanation on [how to decide if Spoke is right for you.](docs/EXPLANATION_DECIDING_ON_SPOKE.md)

For developers, please see our recommendations for [deploying locally for development](/docs/HOWTO_DEVELOPMENT_LOCAL_SETUP.md).
For developers, please see our recommendations for [deploying locally for development](docs/HOWTO_DEVELOPMENT_LOCAL_SETUP.md).

Want to know more?
[Click here to visit the Spoke Documentation microsite!](https://statevoicesnational.github.io/Spoke/)
Expand All @@ -25,12 +25,12 @@ Want to know more?
### 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.

<a href="https://heroku.com/deploy?template=https://github.com/StateVoicesNational/Spoke/tree/v14.0.2">
<a href="https://heroku.com/deploy?template=https://github.com/StateVoicesNational/Spoke/tree/v14.1.0">

<img src="https://www.herokucdn.com/deploy/button.svg" alt="Deploy">
</a>

Follow up instructions located [here](/docs/HOWTO_HEROKU_DEPLOY.md).
Follow up instructions located [here](docs/HOWTO_HEROKU_DEPLOY.md).


**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!](https://heroku.com/deploy?template=https://github.com/StateVoicesNational/Spoke/tree/heroku-button-paid)
Expand Down
Loading