I use a command line utility called ledger, a powerful utility that stores ledger entries in plain text. The project is open source and has a very rich community and ecosystem. The one downside is cross platform difficulties and a lack of GUI. Since the person I intend to share my life with has little to no interest in using a command line utility to keep track of our finances, and current free finance software offers little compared to the enveloping, projecting, and command line interface utility, myself and a few others decided it needed a GUI. Further, because this app could need to be accessed on the fly we felt a webapp would be the best platform to run this front end.

What it does

In it's current state the application can read, write, and balance entries in a ledger stored on a remote server.

How we built it

Since this was our first experience with web programming, we first spend a good bit of time planning the layout of the website and the structure of the frontend and backend API. Since the data is largely tuples of transaction information (e.g. Date, Comment, Account, etc.), we decided a json restful API would serve our needs best.

Challenges we ran into

Despite my wanting to do this for some time, we switched to this project when our original hardware hack turned out to have several bad components which we could not replace. This discovery was made roughly 15 hours into the hackathon, so time was of the essence when we developed the webapp. Additionally, as none of us had any server-side web programming experience we had a lot to learn about serving the restful server and writing an API.

Accomplishments that we're proud of

Given the deadline, we're especially proud of the amount of content and functionality we were able to put into this project, as well as our ability to pick up something new in such a short time.

What we learned

I personally have never programmed in python, so that was quite the experience. The whole team, as I mentioned, has never done any server-side web development before this. I can say confidently that any one of us would have a much easier time doing a similar project in the future.

What's next for Cloud Ledger

The future of Cloud Ledger is to add more of the functionality from the Ledger program and make access to those commands more intuitive. Also since we have a full website and not just a command line, we can add more visual data like charts and graphs. We plan on keeping the project open source to give back to the rich community around the software.

Built With

Share this project: