/advanzia-assistant

A Chrome extension to enhance the Advanzia Bank Gebuehrenfrei Transaction UI using Rust and Typescript

Primary LanguageTypeScriptMIT LicenseMIT

Advanzia Assistant

This is a work in progress

A Chrome extension to enhance the Advanzia Bank Gebuehrenfrei Transaction UI using Rust and Typescript.

Developer Documentation

In ./crate you will find the Rust code that compiles to target wasm32-unknown-unknown.

In ./extension you will find the chrome extension code that uses the wasm binary produced by the Rust code in ./crate.

In ./proxy you will find a binary rust crate that creates a mitm proxy using hudsucker for the advanzia transactions api.

The compiled wasm binary and the relevant parts of ./extension are packed in a dist directory in the root of the repository when you execute build.sh. This dist directory is the artifact that will be uploaded to the Chrome Web Store and which you can load as an unpacked extension into your local Chrome.

Build and test the extension locally

  1. Ensure you have rust and cargo installed
  2. Ensure you have node and npm installed
  3. Checkout this repository
  4. cd extension/ && npm i
  5. cd .. && ./build.sh
  6. Load the dist directory that is now present in the repository root into Chrome as an unpacked extension

To run the tests, execute ./test.sh. The tests in ./extension require the existence of the compiled wasm in dist, so you will need to have executed ./build.sh before executing ./test.sh.