/AxiFi

Software science project

Primary LanguageJava

AxiFi (by CyberDyne)

AxiFi Logo: dotted circle with books next to 'AxiFi'


A financial tracking program. Tracks:

  • Admin account (not implemented -- currently hard-coded)
    • first name, last name
    • username, password
  • User accounts
    • first name, last name
    • username, password (not implemented)
    • balance
  • Transactions
    • date
    • amount
    • description
    • fees (currently hard-coded)
    • predefined or user-defined id

All data is stored locally in an SQLite database, which can be optionally encrypted via AES-256 (more info) with a separate password .

Releases

Releases are hosted on this repository. See the releases page.


Developers

This project uses the e(fx)clipse Eclipse extension, and subsequently Apache Ant, to generate various installers for Windows (.exe), MacOS (.dmg), and Linux (.deb).

Testing

Can be run as a normal Java application. The main method is in application.Main. There is also some unit testing for classes that need it like DatabaseKit, Security, and Settings.

JCE

This project requires the Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files to allow for the AES-256 encryption key length. If you do not install the JCE, the program will be unable to encrypt the database file and you will get an InvalidKeyException: Invalid AES key length.

After downloading, extract the local_policy and US_export_policy JARs to your JDK 8 installation folder under jre/lib/security/policy.

Installing Eclipse

I've had many problems with getting e(fx)clipse to install with various methods on Eclipse Oxygen. You can try it on Oxygen, but if it doesn't work install Eclipse Neon.

Installing e(fx)clipse

The method I've had most success with is here.

  • Alternatively, try installing e(fx)clipse directly from the Eclipse Marketplace (Help > Eclipse Marketplace > Search for "e(fx)clipse"), or try the other methods list in the link above.

Deployment with e(fx)clipse

After installing e(fx)clipse, the installers can be built by opening build.fxbuild and clicking "Generate ant build.xml and run" in the Building_Exporting section on the top right (or running the existing Ant build.xml in the build directory).

This will generate the installers in \build\deploy. Installers must be built from their respective OS environments.