A Mailchimp List backed RSVP app that runs on Node in Heroku.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
public
views
.gitignore
Procfile
README.md
app.json
index.js
package.json

README.md

node-troue

A CampaignMonitor List backed RSVP app that runs on Node in Heroku.

This app used to be backed by Mailchimp, but Mailchimp don’t want you using their service for weddings so it uses CampaignMonitor now, instead.

Running Locally

Make sure you have the following file, env.sh:

export CREATESEND_KEY=<CM-API-KEY>
export CREATESEND_LIST=<CM-LIST-ID>
export CREATESEND_CLIENT=<CM-CLIENT-ID>
export CREATESEND_EMAIL_LOGIN=<CM-SMARTEMAILID-FOR-LOST-LINKS>
export CREATESEND_EMAIL_NOTIFY=<CM-SMARTEMAILID-FOR-NOTIFICATIONS>

export RSVP_NOTIFY_IGNOREADMIN=false
export RSVP_BASEURL=http://ludnat.wendzich.com
$ source env.sh
$ npm install
$ npm start

Your app should now be running on localhost:5000.

Deploying to Heroku

Setup the above ENV variables on Heroku.

$ git push heroku master
$ heroku open

or

Deploy to Heroku

Setting up Campaign Monitor

  1. Create a list with Custom Fields:
    1. Token Text: This can be manually populated, or automatically populated with secure tokens if you visit: /tokenize
    2. RSVP Number: Status of the RSVP
      • 0: Waiting for response, 1: Sends regrets, 2: Coming.
    3. Dietary Text: Will be populated from the invitation page when guests RSVP.
    4. Count Number: How many people are on the invitation.
  2. Webhooks will automatically be created to send notifications to your Team Members and Admins.
    1. Manage notifications on /list?token=<CM-API-KEY>
    2. Admins are automatically included, you can make sure they are excluded by setting the environment variable RSVP_NOTIFY_IGNOREADMIN to true.
  3. You must create 2 Smart Emails:
    1. Login Email. An email for when people lose their invitation URL and request it to be sent to them from the homepage.
      • This can use the custom personalization tags: [Token] and [email], specifically for the Login URL: /?token=[Token]&email=[email].
    2. Notify Email. A notification email for when people RSVP to be sent to the Team Members (and Admins).
      • This can use the custom personalization tags: [Token], [Name], [email], [Count], [RSVP] and [Dietary].

Using the app.

  1. Create your invitation list. Leave the RSVP and Dietary fields blank, these will be updated by the app. Make sure Count is filled out for each Subscriber.
  2. View RSVPs and manage notification settings at: /list?token=<CM-API-KEY>.
  3. Send out RSVPs that include a login link to RSVP: /?token=[Token]&email=[email].