Inspiration

The inspiration for this project was a local currency project, Burlington Bread, that my brother participated in fifteen years ago. The Slices of Bread enabled community members to pay for local items and services at participating locations.

What it does

Town Coins addresses one of the main problems that any local currency project has - organization. With the COVID pandemic still ravaging on, small businesses are turning to online storefronts and kiosk-based, no-contact ordering. So there are two frontend components that were built for Town Coins - a kiosk app for a business and the coin holder app. The kiosk app was built for Two Lambs Farm, a farm-based country store that offers fresh produce and lamb. Customers are able to choose their items at the kiosk, apply Town Coins that they have available in their coin holder app, and complete the order. A store employee would then prepare their order and collect final payment using a Square terminal.

How I built it

The first component I built was the Microsoft Power Automate custom connector for Square. Due to Swagger limitations within Power Automate, I ultimately had to divide the connector into two as a single connector cannot accommodate the 150+ actions Square has in their API. I then built the kiosk app to handle all the functions needed for the shopping cart and order completion functionality. This functionality uses Power Automate to complete the API call for the order being placed and then updates the Loyalty coins for the customer. Finally, the coin holder app was built to show a running total of coins and the coin history.

Challenges I ran into

Building the custom connector was challenging and it is by far the largest number of actions I've ever developed for a custom connector. I did run into one problem with Loyalty API where I was unable to register for the program in my Sandbox environment. I contacted Square support, but their only advice was for me to use my production environment for that endpoint. For the purposes of this project and the speed with which it will be reviewed, the 30-day Loyalty free trial in prod with be enough, but the Order API calls use my sandbox environment.

Accomplishments that I'm proud of

With the custom connectors both built and tested now, I have submitted them for approval by Microsoft for their Independent Publisher Connector program, and once they have been approved, they will be available to the hundreds of thousand Power Platform developers.

What's next for Town Coins

With the connectors already open-sourced, I will also prepare both apps to also be available in an open-sourced repo, for both local currency project organizers and Microsoft Power App developers looking for a template project.

Built With

  • powerapps
  • powerautomate
  • swagger
Share this project:

Updates