Skip to content

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

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages