FinanceJ Code
Status: Alpha
Brought to you by:
rovitotv
File | Date | Author | Commit |
---|---|---|---|
nbproject | 2008-07-05 | rovitotv | [r37] Changes to ledger form. |
src | 2008-07-07 | rovitotv | [r38] Arranged form better for eeePC screen size. |
CodingStandardsClassName.java | 2008-04-03 | rovitotv | [r33] Remove the test change. |
build.xml | 2008-03-11 | rovitotv | [r5] Init import. |
copying | 2008-04-01 | rovitotv | [r29] Added GPL Version 2 copyright notice. |
manifest.mf | 2008-03-11 | rovitotv | [r6] Init import. |
readme.txt | 2008-04-03 | moosbrug | [r35] Include ideas for future development. |
================================================================================ To run the project To run the project from the command line, go to the FinanceJ folder and type the following: java -jar "FinanceJ.jar" ============================================================================== Development tools used to create FinanceJ -jdk1.6 update 3 -Netbeans 6.0.1 -JavaDB AKA Apache Derby You can check out the entire repository with the following command: "svn co https://financej.svn.sourceforge.net/svnroot/financej financej" Then open the project in Netbeans and modify. =============================================================================== DB Structure is as follows *account -name, key varchar(50) -description varchar(250) *category -name, key varchar(50) -description varchar(250) -budget float *ledger -id, key identify field -rec integer -tdate date -payee varchar(50) -description varchar(250) -account varchar(50) -category varchar(50) -amount float To start the Derby SQL-tool java -jar $DERBY_HOME/lib/derbyrun.jar ij To connect to the database: CONNECT 'jdbc:derby:FinanceJDB;create=true'; Check out squirrel SQL Client here for easy database modification: http://www.squirrelsql.org/ Take note you have to execute Squirrel SQL from the directory where the database lives. Make sure your squirrel connection is closed when running FinanceJ because only one program at a time can open a DerbyDB database when in embedded mode. Commands used to create tables: *account create table account (name varchar(50) primary key, description varchar(250)); *category create table category (name varchar(50) primary key, description varchar(250), budget float); *ledger create table ledger (id INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1), rec int, tdate date, payee varchar(50), description varchar(250), account varchar(50), category varchar(50), amount float); Derby expects date fields to be of the form 'yyyy-mm-dd'. You can do updates, inserts, with date fields as strings but in the form of 'yyyy-mm-yy'. ============================================================================== Future planned support for charting library and reports in the browser. The charting Java library you should look into is here: http://www.jfree.org/jfreechart/ A project that launches the browser in a cross platform manner: http://browserlaunch2.sourceforge.net/ Cross platform install tool for java http://izpack.org/ ============================================================================== Ideas for future development * Liquidity forecast on single and recurring items (build a new table holding planned single and recurring items. * Charting (jfree sounds really nice) * Import of account data via SWIFT MT940 account balances * Add expense accounts on which planned budgets and actual bookings can be compared