Skip to content

docljn/i_need_a_budget_in_ruby_sinatra

Repository files navigation

Programming & Web Fundamentals

Over the course of week five, we had the chance to consolidate and expand on everything we had learned:

  • Ruby fundamentals
  • TDD (where appropriate)
  • OOP
  • Web Programming ( REST/MVC )
  • Databases with CRUD actions

Application: I Need a Budget

Spec provided by instructor team

You want to start tracking your spending in an attempt to be more frugal with money. You have decided to make a budgeting app to help you see where all of your money is being spent.

You must be able to create new Transactions ( which should include a vendor name, e.g. Tesco, and a value ) which have an associated Category (e.g. 'food', 'clothes'). Your app would then be able to track a total, and display this in a view.

MVP:

  • Create new transactions
  • Display a list of all transactions
  • Display total amount spent
  • Display total amount spent by category

Possible Extensions:

  • CRUD actions for the transactions
  • Show a warning when the total expenditure is over budget (set a hard coded budget first)
  • Add a date to the transactions and view total spending by month
  • Any other ideas you might come up with

Design Process:

I used a ProtoPersona in order to decide on the way I would approach the project, followed by planning using the MoSCoW structure on Trello. There was a fair amount of pencil-and-paper sketching of potential layouts, and diagramming of the various data types and functions that would be needed, before any actual coding started.

Thinking about a specific potential user made it much easier to decide on a consistent approach to the whole project, and the overview provided by Trello meant that I generally had a clear idea of where to focus my efforts next.

Thoughts after the project:

Tempting as it is to continue to tweak and extend this project, I have decided to put it on github and Heroku as a record of my first CodeClan project after just four weeks' instruction. It will hopefully be encouraging to return to this and see just how much I have improved over the remainder of the course.

Heroku link:

http://ineedabudget.herokuapp.com

I would have liked to:

  • Filter transactions by more than one criterion
  • Explore mobile and responsive display
  • Find out more about css media queries
  • Learn how to do TDD of an application which interacts with a database

I decided not to:

  • Include an account balance which was updated with each transaction
  • Link the budget amounts to income

Things I learned:

  • Cut and paste does not save time
  • Knowing what to google is a real skill
  • Work to a timer, or your day disappears
  • Flexbox is about as unpredictable as the rest of CSS
  • You are never finished, so set your criteria for 'done' before you start

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published