about summary refs log tree commit diff
path: root/tools/monzo_ynab/README.md
diff options
context:
space:
mode:
authorWilliam Carroll <wpcarro@gmail.com>2020-07-20T09·15+0100
committerWilliam Carroll <wpcarro@gmail.com>2020-07-20T09·15+0100
commit5add8ddc13be3a7a5fbb6deb3f70cb18594f8750 (patch)
treebd36fd690f6765e6a270b7ad71fe3bf7a4266091 /tools/monzo_ynab/README.md
parent4ed3254709263abf3aaa1e9469968c6be9615948 (diff)
Move monzo_ynab into //tools
Optimizing is difficult: I like flat hierarchies because I don't like
directory-hopping, but I also would like a cleaner root for my mono-repo. Bombs
away!

Well it's that time again, folks: spring cleaning!

Here I am musing about a few things that bother me:
- Should I use kebab-case or snake_case?
- It feels ~confusing to have //tools and //utils. What a //projects? Isn't
  everything a project? *sigh*
Diffstat (limited to 'tools/monzo_ynab/README.md')
-rw-r--r--tools/monzo_ynab/README.md41
1 files changed, 41 insertions, 0 deletions
diff --git a/tools/monzo_ynab/README.md b/tools/monzo_ynab/README.md
new file mode 100644
index 000000000000..4ccbb35d8c5d
--- /dev/null
+++ b/tools/monzo_ynab/README.md
@@ -0,0 +1,41 @@
+# monzo_ynab
+
+Exporting Monzo transactions to my YouNeedABudget.com (i.e. YNAB) account. YNAB
+unfortunately doesn't currently offer an Monzo integration. As a workaround and
+a practical excuse to learn Go, I decided to write one myself.
+
+This job is going to run N times per 24 hours. Monzo offers webhooks for
+reacting to certain types of events. I don't expect I'll need realtime data for
+my YNAB integration. That may change, however, so it's worth noting.
+
+## Installation
+
+Like many other packages in this repository, `monzo_ynab` is packaged using
+Nix. To install and use, you have two options:
+
+You can install using `nix-build` and then run the resulting
+`./result/bin/monzo_ynab`.
+
+```shell
+> nix-build . && ./result/bin/monzo_ynab
+```
+
+Or you can install using `nix-env` if you'd like to create the `monzo_ynab`
+symlink.
+
+```shell
+> nix-env -f ~/briefcase/monzo_ynab -i
+```
+
+## Deployment
+
+While this project is currently not deployed, my plan is to host it on Google
+Cloud and run it as a Cloud Run application. What I don't yet know is whether or
+not this is feasible or a good idea. One complication that I foresee is that the
+OAuth 2.0 login flow requires a web browser until the access token and refresh
+tokens are acquired. I'm unsure how to workaround this at the moment.
+
+For more information about the general packaging and deployment strategies I'm
+currently using, refer to the [deployments][deploy] writeup.
+
+[deploy]: ../deploy/README.md