[ANN] ActiveBudget - Track your money and learn Rails


#1

I’ve worked as a freelance Rails developer for the past 6 months.
Switching from a cushy salary to hourly work forced me to reevaluate my
finances. Developing a budget came easily to me, but tracking my
spending was annoying. I also needed a way to record my work across a
number of jobs. The convergence of these needs lead to ActiveBudget.

ActiveBudget is the software I use every day to track my spending,
income, and hours worked. It works so well for me, I wanted to share it
with the world.

Everyone has their own way of handling a budget. I’ve put together a
quick screencast to show how ActiveBudget works for me. I’ve tried my
best to make ActiveBudget applicable to everyone.
http://activebudget.org/screencast

Even if ActiveBudget isn’t for you, I’ve decided to release it as open
source. If you’re a new Rails developer and would like to see the
insides of a production app, ActiveBudget has a lot to offer.

What can you learn from ActiveBudget? Some general concepts:

  • REST design with integrated API
  • Test Driven Development
  • Using Flash to create graphs
  • Deploying with Capistrano

And some technical pain points:

  • Handling time zones
  • User authentication with an API
  • Securing ActiveRecord associations
  • ActiveRecord migrations
  • Using the RedBox lightbox
  • Rendering calendars

So check it out and let me know what you think. I have a hosted version
up at http://activebudget.org or you can check out the project on Google
code. http://code.google.com/p/activebudget/

Getting the source is easy:

svn checkout http://activebudget.googlecode.com/svn/trunk/
activebudget

I’m not a designer, so it could certainly use a nice CSS treatment. It’s
also far from feature complete. I plan to add SMS text messaging and
more reporting in the future. I’m committed to making ActiveBudget well
documented, so if you find yourself having questions, let me know and
I’ll do my best to clarify.

Jordan
http://jordan.mckible.com


#2

Hey Jordan,

Way to go!
I wanted to implement my tracking exactly the same way!
So you saved my time, and earned a great respect from me!

Thanks a loooot!

All the Best!
Sergey.


#3

Getting the source is easy:

svn checkout http://activebudget.googlecode.com/svn/trunk/
activebudget

It’s not easy for me,
I don’t know how to download the source code


#4

Jordan McKible wrote:

gino wrote:

Getting the source is easy:

svn checkout http://activebudget.googlecode.com/svn/trunk/
activebudget

It’s not easy for me,
I don’t know how to download the source code

Do you have Subversion?

Yes I do
never uesed it though
I guess, it’s the time to learn,
where to I start ?


#5

gino wrote:

Getting the source is easy:

svn checkout http://activebudget.googlecode.com/svn/trunk/
activebudget

It’s not easy for me,
I don’t know how to download the source code

Do you have Subversion?


#6

svn co http://activebudget.googlecode.com/svn/trunk activebudget

That will ‘checkout’ or download the code from the server and put it in
a directory called ‘activebudget’ in whatever directory you happen to be
in.

Thanks, that was easier than what I thought


#7

I have looked at screencast.
Nice work. Thank you for sharing it with us.

Regards,
Ernad


Posted via forums.bring.out.ba.


#8

Do you have Subversion?

Yes I do
never uesed it though
I guess, it’s the time to learn,
where to I start ?

From the command line enter:

svn co http://activebudget.googlecode.com/svn/trunk activebudget

That will ‘checkout’ or download the code from the server and put it in
a directory called ‘activebudget’ in whatever directory you happen to be
in.


#9

Looks very nice Jordan.

Thanks


#10

Thanks Jordan for this quick start tutorial and codebase!

I encountered one hiccup getting the code to run out of the box with
Rail 2.0.2, I’m sharing in case someone else encounters this while
using this platform for their learning experience…

Starting the server you get a 500 Internal Server Error.

I edited the config/environment.rb and changed line 46 from:
config.action_controller.session = { :session_key =>
“_activebudget_session_id”, :secret => “super_secret” }

  • to -
    config.action_controller.session = { :session_key =>
    “_activebudget_session_id”, :secret =>
    “139676564ca52ff6e8712d2336ccd245” }

I’m running:
Mac OS 10.4.11 (Tiger)
Ruby 1.8.6
Rails 2.0.2
Mysql 5

Thanks again!
~Basil

On Jun 4 2007, 8:28 am, Jordan McKible <rails-mailing-l…@andreas-


#11

Jordan,

Great work, much appreciated. I have been considering creating
something like this for my business as an independent developer and
writer. You have provided 75% of what I need, the additional piece
would be a clean way to produce invoices to clients, regular and
recurring and then print them out or email them. I think I will
looking into adding that functionality to your project and if I can
get it to work well for me I will pass it along to you for possible
inclusion into ActiveBudget.

-Rob B.
www.accidentaltechnologist.com

On Jun 4 2007, 8:28 am, Jordan McKible <rails-mailing-l…@andreas-


#12

This is awesome! Thanks. I’m looking forward to learning how you used
flash to create those charts.

On Jan 12, 11:40 am, Jordan McKible removed_email_address@domain.invalid


#13

Thanks for the feedback everyone. I have to admit I’ve let the code
slip a bit since I released it six months ago. I made the mistake of
adding Edge Rails as a svn external rather than using Piston. There are
also some bugs that have emerged, so I’ll see if I can’t clean
everything up.