The goal is to make subscribing to a list as easy as one click with the use of information from other oauth providers
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


MailChimp Simple Signup
Version: 0.2


  • facebook information subscription of MailChimp list
  • grabs email, fname, and lname – for now
  • simple error reporting letting the user know which lists are incompatible and why
    • the list form must not require any other fields than EMAIL/FNAME/LNAME
    • it also must use the EMAIl/FNAME/LNAME field tag convention
  • default facebook button theme
  • button customization – text/font/font-size/padding/opt-in/scrolling/colors/width


  • other fields to be grabbed from fbook, location(zip)?,website? derp?
  • Other OAuth providers?


  • make unit tests not collide again… currently must be run one at a time. =(

Dev environment setup:

  1. create couchDBs somewhere and hookup to config/database.js
  2. register MailChimp dev/pro Oauth applications and hookup to config/oauth.js
  3. plug in API keys for each MC account for async testing in test/models/factory/user.js
  4. set up proper facebook app ids and basepaths in app/server.js (dev/testing/staging/production)
  5. $ npm install
  6. expresso test/models/*
  7. expresso test/controllers/*

Some notes about that:

  • follow corresponding *Example.js for 1-3 above
  • user_id and list_id in test/models/subscription have not been moved to factory yet
  • the same goes for statically coded ids in test/controllers/subscription_controller
  • The MC Oauth application requires for dev testing redirect_urls
  • Facebook apps require localhost for dev testing
    • as such, there are now two URLs to be specified in the development env section of app/server.js to help match both of these requirements
    • server.basepath is used in dev to generate MC-specific links
    • server.facebook_basepath is used in dev to make the button UI work from views/welcome/dashboard

design notes

  • this is some kind of MVC/Model2 thing… hopefully it gets the point across