Local app for tracking finances


In the past I used online services to track my money, but I wanted to have something completely in my control (and it gives me another real project for trying out new technologies and techniques). It’s not meant to replace a full-fledged ERM that a business would use, but it does replace a myriad of spreadsheets, online services, etc. that I previously used.

Application Architecture

I have a core netstandard library that houses POCO for data classes as well as my transaction processing logic used by any importing tools.

At the moment, I have two CLI apps for processing data. One uses the latest .Net Core and houses my PayPal importer, as well as a number of one-off CSV imports. The other is my heavier-used .Net Standard 4.7.x for processing OFX files from various banks/credit cards (OFXSharp doesn’t support Core yet).

The primary web app utilizes Nancy, Kestrel web server, SSVE views, and npm/gulp for managing front-end libraries and pre-processing. It includes a print-friendly view of an invoice so that I can send PDF files off to clients. Aside from other client-specific pages, the app has simple UIs for tracking things like my vehicle gas mileage and home energy usage. The landing page shows current balance info (with last import date per account) along with budget projections.

I’ve started a secondary web app with the intention of using it as a playground for React and .Net Core WebAPI.

Last, but not least, I created a PowerBI report for viewing various spins of the above data.