@@ -27,44 +27,44 @@ skills and background best when submitting your application.
[REST API for basic double-entry accounting](http://npoacct.sfconservancy.org/accounting-api/),
and then write some reports using that new API.
This will require the student to get familiar (or already be familiar)
with how Ledger-CLI works, how REST APIs work, and learn some basics of
double entry accounting.
A successful student should be able to complete that work about
three-quarters the way through the summer, and then be able to focus on
actually writing a few specialized NPO-style report using the API. A
great acid test will be to use the API to implement the
[IRS required charity public support test](http://www.irs.gov/Charities-&-Non-Profits/Exempt-Organizations-Annual-Reporting-Requirements-Form-990,-Schedules-A-and-B:-Public-Charity-Support-Test).
2. Build a better test suite for [Ledger-CLI](http://www.ledger-cli.org/).
Since this project relies so heavily on Ledger-CLI, we'd really like there
to be a full test coverage for Ledger-CLI. To do that, a student will
need to be already somewhat familiar C++ and willing to learn about how to
set up test suites for C++ programs, and likes writing tests. The student
could easily spend the whole summer just writing tests and not finish.
Ledger-CLI does have a basic test suite, but it might turn out that using
a more "full featured" test harness is useful. The student will
investigate and discuss this possibility with the mentor. It would also
be nice if lconv or other test-coverage tool could generate reports
be nice if lcov or other test-coverage tool could generate reports
automatically.
While this project is of primary interest to this project, it will
require careful coordination with Ledger-CLI as an upstream, and we'll
help mentor the student in that.
3. Build a better Python interface to Ledger-CLI for use by our API.
Right now, Ledger-CLI has a rather incomplete Python interface, based on