A simple but powerful tool to keep track of your spendings. All data is end-to-end encrypted and requires no registration. Made for power users. It is built as a Web application using Angular and the Material design library.
Users can reach the tool at money.bonauer.me.
Beware that there does not exist any proper user documentation yet, but if you are interested in using the tool and need help getting started, feel free to contact me.
- Clone the repository.
- Run
npm install --legacy-peer-depsto update dependencies. The legacy flag is needed because this is built with quite an old version of Angular with some dependency conflicts. - Run
npm run protocto compile the protocol buffer models. This step has to be repeated every time you change the proto definitions. - To enable API calls made from the development server, copy
src/proxy.conf.global.jsontosrc/proxy.conf.local.jsonand adjust the config of your backend server. - When on Node.js version >=17, set the following env var for all node operations:
NODE_OPTIONS=--openssl-legacy-provider
Run npm start for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.
Run npm run build to build the project. The build artifacts will be stored in the dist/ directory. Use npm run build -- --prod for a production build.
Deployment to money.bonauer.me is performed automatically by CI.
To set up your own deployment, consider the following tips:
- Deploy the entire
api/folder to a PHP-capable Web server. - Place the frontend build artifacts from
dist/finance-tracker/intoapi/public/. - Ensure that
api/public/is the document root of the Web server. - When using Apache, make sure
.htaccessfiles get deployed and respected. Otherwise, replicate the routing rules declared in those files. - Database files sent by clients will be stored in a folder specified by the environment variable
FT_STORAGE_DIR.
To get more help on the Angular CLI, check out the Angular CLI README.