Simple Supporters database for fundraising
Find a file
Bradley M. Kuhn e43b6e34ae donorTotalGaveInPeriod: First implementation.
This passes all tests:

ok 224 - donorTotalGaveInPeriod(): dies with undefined donorId
ok 225 - donorTotalGaveInPeriod(): dies with non-numeric donorId
ok 226 - donorTotalGaveInPeriod(): dies with non-existent id
ok 227 - donorTotalGaveInPeriod():  dies with non ISO-8601 string in startDate
ok 228 - donorTotalGaveInPeriod():  dies with non ISO-8601 string in endDate
ok 229 - donorTotalGaveInPeriod(): dies if given an argument that is not recognized
ok 230 - donorTotalGaveInPeriod(): total for a donor with no period named succeeds...
ok 231 - donorTotalGaveInPeriod(): ...and returned value is correct.
ok 232 - donorTotalGaveInPeriod(): check for total with both start and end date succeeds...
ok 233 - donorTotalGaveInPeriod(): ...and returned value is correct.
ok 234 - donorTotalGaveInPeriod(): check for total with just a start date succeeds...
ok 235 - donorTotalGaveInPeriod(): ...and returned value is correct.
ok 236 - donorTotalGaveInPeriod(): check for total with just a end date succeeds...
ok 237 - donorTotalGaveInPeriod(): ...and returned value is correct.
2016-01-07 13:36:21 -08:00
scripts Parallel hashes made no sense here. 2016-01-07 12:42:51 -08:00
sql fulfillment_id should not be in request table. 2015-12-30 04:31:37 -08:00
Supporters donorTotalGaveInPeriod: First implementation. 2016-01-07 13:36:21 -08:00
.gitignore Ignore Makefile.old as well. 2015-12-06 19:24:24 -08:00
AGPLv3 Downloaded a copy of the Affero GPLv3. 2015-12-06 16:55:11 -08:00
COPYRIGHT.md Move license notice information to LICENSE.md 2015-12-06 17:01:33 -08:00
LICENSE.md Move license notice information to LICENSE.md 2015-12-06 17:01:33 -08:00
README.md Wrote add-email-address.plx script. 2015-12-31 00:38:59 -08:00

Mini Non-Profit Supporters and Donors Database

"Supporters" is a small donor database for non-profit fundraising that uses Ledger-CLI as a backend for accounting data.

While this system is used in production for Software Freedom Conservancy, the code is likely only appropriate if you plan to do a lot of work on the command-line. Eventually, the ideal would be to refactor CiviCRM to support the ideas and Ledger-CLI integration represented in this code.

Why Does This Exist?

Conservancy needed a simple donor database and could not invest the resources required to maintain a CiviCRM instance: most organizations that use CiviCRM either pay for hosting or devote some amount of staff time its maintenance. Conservancy could afford neither, but this weekend-hack version of a database suits our needs (at least for now).

License Information

See the file LICENSE.md for license information.

Common Tasks

These are recipes for some common tasks that one might want to complete on the command line with the Supporters database.

  • Add a Supporter from the command line: ./scripts/add-supporter.plx

  • Add an email address, or change the preferred email address: ./scripts/add-email-address.plx