Changeset - 6e2720063284
[Not reviewed]
0 1 0
Bradley Kuhn (bkuhn) - 10 years ago 2014-02-14 00:25:18
bkuhn@ebb.org
Note that the student may be able to use API to do some reports.
1 file changed with 6 insertions and 0 deletions:
0 comments (0 inline, 0 general)
GSoC2014Ideas.mdwn
Show inline comments
...
 
@@ -3,41 +3,47 @@ Google Summer of Code 2014 Ideas
 

	
 
Welcome, potential Google Summer of Code students!  This projects is
 
currently called "The NPO Accounting Project", for lack of a better name.
 

	
 
The project is coordinated by
 
[Software Freedom Conservancy, Inc.](https://sfconservancy.org/) which is a
 
501(c)(3) charitable not-for-profit organization in the USA.  We run all our
 
operations solely and completely on Free Software.
 

	
 
One area that we've had great difficulty is regarding non-profit accounting
 
software.  We've launch this project to improve the state of accounting
 
Open Source and Free Software for non-profits.
 

	
 
## Possible GSoC 2014 Projects
 

	
 
1. Add all necessary the tag types found
 
   [the tutorial on the Ledger-CLI setup for fiscal sponsor 501(c)3 organizations](https://gitorious.org/ledger/npo-ledger-cli/)
 
   into the
 
   [REST API for basic double-entry accounting](http://npoacct.sfconservancy.org/accounting-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.
 

	
 
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
 
   [Boost.Python](http://www.boost.org/doc/libs/1_55_0/libs/python/doc/).
 
   However, the right approach is probably to use
 
   [SWIG](http://www.swig.org/) or some other similar mechanism to build a
 
   proper Python API.  Perhaps Ledger-CLI could stick with Boost.Python, but
 
   what's there clearly needs an overhaul.  The upside of using SWIG will be
 
   that we can get APIs for other languages too. 
0 comments (0 inline, 0 general)