1 of 10

Vanilla Transaction Dashboard

2 of 10

Donovan Hutcheon

Vanilla Transaction Dashboard

  • Learn stuff:
    • Primarily Go
    • But also React, Heroku
  • Build a dashboard to record my spending habits
  • Create a platform upon to build something cooler

Hello! ๐Ÿ‘‹

3 of 10

How it works

4 of 10

How it works

MariaDB

charkadog.herokuapp.com

shinycat.herokuapp.com

MariaDB

heenadog.herokuapp.com

scrawnycat.herokuapp.com

React

Go

Staging

Production

5 of 10

Get Involved!

6 of 10

Get involved

Challenges Encountered:

  • Wasted a ton of time trying to serve React on the GoLang webserver inside the same container.
  • Building multiple apps from a mono repo is not very easy with Heroku.
  • Forces you to build from multiple repos and have multiple pipelines.
  • $10 per CI pipeline.
  • Heroku only provides Postgres and Redis databases for CI testing. (Dealbreaker)
  • Forced me to get creative to find other ways of CI testing.
  • Learned React the bruteforce way.

7 of 10

Get in touch

The github README is not updated but Iโ€™ll upload installation instructions soon.

Email: donohutcheon@gmail.com

Slack: @Donovan Hutcheon

Go Backend: https://github.com/donohutcheon/gowebserver

React Frontend: https://github.com/donohutcheon/reactwebclient

8 of 10

Next Steps

9 of 10

Next steps

  • Switch Heroku out with AWS or Google Cloud
  • CI tests run against a real database
  • Finish the filtering functionality in the frontend
  • Display some sexy charts, graphs and summaries on the dashboard page
  • Untangle the spaghetti, example: Implement DI framework
  • Stupid stuff like revoking tokens, logging out, OAuth2, etc
  • Look into GraphQL
  • Make use of new Investec API features

10 of 10

Questions