Multi-currency expense tracking that respects your privacy
Vault is an offline-first, privacy-focused expense tracking app that allows you to track your expenses in multiple currencies with a few taps, without having to hand over your personal data in the process. Vault also allows you to import and export your expenses to Dropbox, providing a convenient backup mechanism.
I built this app as none of the options on the app store offered backup solutions using Dropbox and most of the apps required me to sign up for a new service that would then store my personal expense data.
Vault is built from the ground up in React Native, using Expo SDK as a framework for rapid development. Redux is used for state and data management, using Async Storage as the main data storage solution. The Dropbox API provides a way to backup user data to the cloud without requiring the user to hand over data to Vault at any time.
If you want to run or develop Vault on your local machine, follow the instructions for each platform below:
- Clone this repo with
git clone https://github.com/felixweinberger/vault
- Run
npm install
inside the/client
folder - Ensure you have
cocoapods version 1.5.3
installed (needed for version 32 of ExpoKit) cd
into the/client/ios
folder and runpod install
- You may need to install
git-lfs
first - runbrew install git-lfs
and thengit lfs install
- You may need to install
- Run
npm start
in/client
- Open the
/client/ios/vault.xcworkspace
file in XCode - For development, make sure the scheme (click on small logo top left -> "edit scheme") is set to "Debug"
- Run the app in XCode with
⌘ + R
If you want to use React Native Debugger, you can run the following command to start RNDebugger with the correct port set:
open "rndebugger://set-debugger-loc?host=localhost&port=19001"
Within the iOS simulator then press ⌘ + D
and Click "Start Remote Debugging".
TBD