I wasn't sure what I wanted to build at first. After sitting in at Softheon's techtalks on Friday night, I wanted to try to use their Payment API and Enterprise API to create something. I thought about creating an e-commerce site but that would be just plain and that's when I thought of adding a twist to it -- linking a budget limit to your credit card so people who can't manage their money won't be able to overspend.

What it does

User logs in to their account and links a credit card as well as setting a budget for themselves. Users will not be able to spend past the budget limit they set on themselves. Users are able to get a list of purchase history to analyze for themselves how they can choose to budget themselves for future spendings.

How I built it

I set up a nodejs express server. Afterwards, I added babel and react to my project as well as used the Flux architecture. I created a quick template so I would be able to test Softheon's API early on. After lots of debugging on the server and trying to hit Softheon's endpoints, I polished up the site a bit.

Challenges I ran into

Asynchronous javascript is very annoying to overcome, especially when the sample code used isn't in ES6 (I couldn't translate it into promises). Learning how to use Softheon's API was difficult and I made a lot of typo mistakes (Shoutout to the Softheon engineers for helping me out, especially George who dedicated a lot of time in explaining things to me). The domain website didn't let me add NS and A records for some reason (Apparently I was unlucky? DNS records wouldn't update and had to contact live support multiple times over the span of 6 hours. They said the problem was on their end and the engineers would look into it but they never fixed it in the end).

Accomplishments that I'm proud of

Being able to set up my own Reactjs universal app.

What I learned

Learning how to use actual callbacks instead of relying on promises.

What's next for Budgetize

Add an actual way for users to create accounts. Add a timer to your budget limit (maybe set a budget every month?) as well as an analysis of user spending and savings over that period of time. Turning this into a library so other e-commerce sites can use what I made or actually expanding on this e-commerce website itself by adding more items (add filtering, searching, etc for items)

Testing Budgetize out

  1. Go to

  2. Login with credentials
    username: kev
    password: abc

  3. Go to profile and enter in following credentials
    creditcard: 4134185779995000
    everything else: fields that don't look too fake

  4. Click on purchase and buy whatever you want.

  5. Click on purchase history and press update data to get a list of updated data.

Built With

Share this project: