Here are the changes that happened in this release:
- This project.
- Use JSON API spec as our preferred standard.
- Add Account resource (schema/endpoint).
- Add User resource (schema/endpoint).
- Add Token endpoint.
- Add user authentication through Token endpoint.
This is also the first blog post for Open Budget so I’d like to talk about some things regarding this project.
OpenBudget started around August 2017 when I stumbled upon ReactJS at work after ignoring it for the longest time. It took me a while to get past the learning curve, but afterwards, I fell in love with it so much that I wanted to work on a serious hobby project just so I can have a chance to use it.
I’ve been a long time user of YNAB since 2011 and I really liked the concept of envelope budgeting. YNAB had always been missing some features that I would like to have in a budgeting app, so creating my own budgeting app was something that I’ve been thinking about since way back. In fact, I already made a lot of attempts in doing that over the years to no avail.
My latest attempt before this was a Rails/React app that was bundled into a single repository. It was also using GraphQL as its API strategy. You can find it here if you’re interested: https://gitlab.com/terenceponce/budget
At first, I intended to stick with aforementioned setup and turn this into a business. However, after some consideration, I decided to restart everything, change the backend to Elixir/Phoenix instead of Ruby on Rails, and go completely open source. The reason was because I was inspired by the people at OpenDota.
I’ve been following their efforts recently and I even made a small contribution to their website. I was so happy that I realized that the best way to do the budgeting app was to follow in OpenDota’s footsteps — by going open source. So I bought the domain openbudget.xyz and made 2 separate repos for the project. An Elixir/Phoenix app for the backend and a React app for the frontend.
Before this project, I knew nothing about Elixir, but I do know that it’s way faster and a lot lighter than Ruby on Rails, so I decided to just dive in and force myself to learn Elixir/Phoenix for this project. I’m hoping that if this project catches on, I’ll be able to get some Elixir or React developers on board and give me tips on how to improve on these technologies.
This is the first of hopefully many releases that will happen for Open Budget. I apologize in advance if the codebase looks bad, but I am open to suggestions on how to improve. Just reach out or send a pull request.