- Xcode
- Homebrew
- MySQL
- ImageMagick
- PhantomJS
- QT
- Firefox (optional; Selenium testing)
xcode-select --install
brew install [email protected] [email protected] imagemagick@6 phantomjs
brew install geckodriver (optional; Selenium)
brew link --force imagemagick@6 so the rmagick gem will install
echo 'export PATH="/usr/local/opt/[email protected]/bin:$PATH"' >> ~/.zshrc or add it your non-Zsh path your way
bundle install
NB. if capybara-webkit complains, you may need to reset your xcode build path:
sudo xcode-select --reset
brew services start [email protected]
rake db:create && rake db:schema:load && rake db:seed
Run rake for specs & scenarios, rake cucumber for legacy features, or rspec directly for individual files
- Setup your local env:
cp .env.sample .env& add your own config details - You may need to fill in some blanks in
./config/constants.yml foreman start
Cron handles the following things; if you don't use them, you can leave it off:
- Recurring donations
- Credit card expiring (dunning) emails
- Auto-tagging of large-ish donors
- Assigning daily random values to users for deterministic listcut splitting within any given day (for subject line tests)
- Updating the member count
- Updating the transparency stats (publicly visible donation aggregates)
You'll need a MySQL database: for smaller setups ClearDB is probably the way to go; larger setups should consider AWS RDS, especially MySQL-Compatible Aurora.
The only other addons needed to get going are MemCachier and the Scheduler for Cron. You can probably add the Sendgrid addon but we configure it manually.