Overview

The project was built to be a way to allow freelance web developers to push amends to client sites upon receiving full payments.

The flow is as follows:

  1. Developer makes change on feature branch
  2. Developer raises PR to main branch
  3. WebHook is triggered to Be Paid to Get Deployed
  4. Be Paid to Get Deployed queries QuickBooks API
  5. QuickBooks API returns whether the payment has been received in full

A client can then be informed that the changes have been made, and an invoice has been sent. The flow is then:

  1. Client makes a payment into a Starling bank account
  2. Starling triggers a WebHook on Be Paid to Get Deployed
  3. Be Paid to Get Deployed triggers a payment to QuickBooks
  4. Be Paid to Get Deployed updates the status of the GitHub branch status
  5. If the branch status succeeds, merge the changes!

Tech Stack

This project was built using the following technologies:

  • Flask: Flask is a microwebframework built in Python, with a focus on simplicity and ease of use.
  • GitHub Statuses: The status API allows external services to mark commits with an `error`, `failure`, `pending`, or `success` state, which is then reflected in pull requests involving those commits.
  • QuickBooks: QuickBooks is accounting software that allows developer integrations.
  • Starling Bank: The Starling API enables seamless integration of Starling account and transactional data into your application.