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:
- Developer makes change on feature branch
- Developer raises PR to main branch
- WebHook is triggered to Be Paid to Get Deployed
- Be Paid to Get Deployed queries QuickBooks API
- 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:
- Client makes a payment into a Starling bank account
- Starling triggers a WebHook on Be Paid to Get Deployed
- Be Paid to Get Deployed triggers a payment to QuickBooks
- Be Paid to Get Deployed updates the status of the GitHub branch status
- If the branch status succeeds, merge the changes!
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.