Personal accounting desktop app to track your finances.
Go to file
Andrew Lalis 952d149825 Added latest scene router version, replaced history clear and navigate by router's new "replace" function, and added orphan deletion to transaction delete logic. 2024-01-09 21:51:18 -05:00
.github/workflows Fix release workflow. 2024-01-08 12:30:20 -05:00
.mvn/wrapper Added maven wrapper, started powershell script for windows build. 2024-01-02 08:39:07 -05:00
design Added about page, improved splash screen again. 2024-01-09 12:52:42 -05:00
scripts Updated to version 1.3.0 2024-01-09 12:54:42 -05:00
src Added latest scene router version, replaced history clear and navigate by router's new "replace" function, and added orphan deletion to transaction delete logic. 2024-01-09 21:51:18 -05:00
.gitignore Added more to gitignore. 2024-01-01 20:16:03 -05:00
LICENSE Initial commit 2023-12-14 15:54:32 -05:00
README.md Updated to version 1.3.0 2024-01-09 12:54:42 -05:00
mvnw Added maven wrapper, started powershell script for windows build. 2024-01-02 08:39:07 -05:00
mvnw.cmd Added maven wrapper, started powershell script for windows build. 2024-01-02 08:39:07 -05:00
pom.xml Added latest scene router version, replaced history clear and navigate by router's new "replace" function, and added orphan deletion to transaction delete logic. 2024-01-09 21:51:18 -05:00

README.md

Perfin

GitHub Workflow Status (with event) GitHub release (with filter)

A personal accounting desktop app to track your finances using an approachable interface and interoperable file formats for maximum compatibility.

Download

Head to the releases page and find the installer that's compatible for your system.

No compatible release for your system? Report it here.

About Perfin

Perfin is a desktop app built with Java 21 and JavaFX. It's intended to be used by individuals to track their finances across multiple accounts (savings, checking, credit, etc.).

Because the app lives and works entirely on your local computer, you can rest assured that your data remains completely private.

Release Procedure

Platform-specific package installers are generated automatically via GitHub Actions (see .github/workflows/make-release.yaml), which is triggered by a new tag being pushed to the main branch. Follow these steps to push a release:

  1. Run java scripts/SetVersion.java 1.2.3 (replacing 1.2.3 with the new version number) to set the version everywhere that it needs to be.
  2. Add a tag to the main branch with git tag v1.2.3.
  3. Push the tag to GitHub with git push origin v1.2.3.

Once that's done, the workflow will start, and you should see a release appear in the next few minutes.