Menu

Tree [r38] /
 History

HTTPS access


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.

Read Me

================================================================================
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