Skip to content

Cashbox

https://github.com/matt328/cashbox

Cashbox is a playground to experiment with Angular and various 'serverless' backends. The current implementation uses Google's Firebase. It uses the domain of simple budget tracking, and is admittedly a bit out of date at this point with Angular 12.

Design goals:

  • Keep things simple and use pure, idiomatic Angular concepts with as few external dependencies as is practical.
  • Use realtime asynchronous server communication so that multiple users can collaborate on a budget simultaneously. This is not all that practical in a real world application, but affords the opportunity to do something other than boring old REST.
  • Use conventional commits for semantic release, and eventually progressive deployment.
  • Keep things simple using Karma for unit testing and coverage
  • Allow development of components more easily using storybook to be able to stage up components in various states to allow a more efficient dev loop.
  • Use functional reactive programming with rxjs to be able to compose the application of nothing more than a series of pipelines that declaratively describe the data flow between UI elements and backend data store.