πŸ’°[CLOSED] Bounties Playground | banking.make.dev

What is this about?

We created a central repo as a community space for playing with programmable banking and building/extending its API functionality. We hope that anyone interested in building useful financial tools can use this repo to increase functionality for personal and business use-cases.

What do I need to know?

The Bounties

⏰ Each bounty season will run over three weekends. πŸ’« Season #1: Starts 27 October and ends 14 November 2022 🏁 πŸ’« Season #2: Starts 15 November and ends 5 December 2022 🏁 πŸ’« Season #3: Starts Jan 2023 - TBC 🏁

We have a list of bounties for functionality that we think will be useful to add to the current codebase.

What do I do when I find a bounty I like?

  • If you see one you like,

    • comment that you want to claim it.

    • The person that created the bounty will respond with a "go-ahead πŸ‘".

  • You can clone the GitHub repo and work on your local machine.

πŸ’‘ ProTip: We recommend forking our REPL on Replit for a quick-start. Replit is a great dev tool that makes it easy to run and edit code.

  • Write the necessary code or documentation in your fork.

  • Create a pull request into the main GitHub repo with your changes.

  • Once your code is merged into the master app, you'll receive your bounty reward. πŸ†

Where do I get support?

  • Great question! Drop into the dedicated bounties Slack channel here.

  • We'll be more than happy to help with any questions or support around your bounties build/ the bounties in general/ or if you want to hang out and help others.

πŸ’‘ ProTip: If you learn something interesting while working in the codebase, be sure to add it in ./knowledge so everyone can benefit!

Other features

Feel free to extend this app with other programmable banking features you'd like. We can't guarantee it'll be merged into the main branch, but if it provides real value, there's a good chance it will be. Please make sure your code is well documented, and its reason for existing is explained well.

Issue tracking

Report any issues on GitHub

Getting set up

  • Fork the code - either from this REPL directly or from GitHub if you prefer to work locally

  • Configure the app's components to point to the domain your REPL is hosted at

    • Set the DOMAIN secret, the default is banking.make.dev - this is used in the root code compiler, among others

    • Update the connector file in public/Investec.swagger.json and replace banking.make.dev

  • npm install and npm start ('I think, not sure - I just use Replit, and it auto-boots πŸ€·β€β™‚οΈ')

Current Features

Investec API

  • routes/investec.js proxies any incoming GET and POST requests to the Investec API while converting API keys into single-use bearer tokens. The app doesn't store any sensitive information.

  • routes/investec/auth.js contains middleware to extract partition information from API keys, if the requester is using partitioned access and routes/investec/card_partitions.js contains config for those partitions

  • routes/investec/special.js extends Investec API base functionality by providing an abstraction layer for card control, handling card events, and simplifying the transfer endpoint

RootCode card control

  • modules/root_code_card_policy.js converts simple config flags into a JS bundle that can be compiled as RootCode onto a supported card

Power Automate

  • There is a connector file in public/Investec.swagger.json that you can import into Microsoft Power Automate or any other low-code tool

  • modules/power_automate.js handles pubsub subscriptions for PowerAutomate events

  • routes/investec/special.js contains several routes specific to Power Automate

FAQs

  1. Can >1 person work on/request to work on a bounty at the same time? How is the decision about who works on it made?

    1. Anyone can go after any bounty - it just depends on who commits first with all the correct criteria.

  2. Is there any time frame for the bounties to be completed in?

    1. Yes, there is. There are Bounty seasons - 3 weekends per bounty season.

  3. What is the engagement model once someone has started working on a bounty?

    1. You can either work on your own and commit for approval as is, or they can join the Slack channel for support and to book a "build session" with a community champion.

  4. What if the person cannot complete the bounty?

    1. Then they don’t complete. We’ll make a call after each season to either roll over any unclaimed bounties and add new ones for the next seasons.

Last updated