Fundamentally the app is built on .NET 6. It can run on Linux or Windows. My policy is to be always on the latest LTS version.
For Object-Relational Mapping. It writes better SQL queries than I could dream of. It's amazing.
Currently the only supported database is MS SQL Server. Support for MySQL is on the roadmap.
For storing/retrieving receipts as blobs in Azure Storage (optional)
For sending emails (optional)
https://github.com/jcoliz/OfficeOpenXMLEasy
For serializing/deserializing objects to/from spreadsheet files. Uses Office Open XML SDK.
https://github.com/jcoliz/OFXSharp
For reading OFX files.
https://github.com/fsprojects/ExcelFinancialFunctions/
For calculating loan principal & interest breakdown.
For browser-based functional testing. Playwright is super stable and easy to use. I like having functional tests running against the final deployed bits to ensure there aren't any bugs hiding somewhere in the configuration or infrastructure.
For looking at least half-way decent.
For AJAX.
For nice icons. Using the free version to avoid tying an open-source project to a 'premium' offering.