Skip to content

Resource Model

Zacck Osiemo edited this page Feb 14, 2018 · 7 revisions

User

  • Can authenticate
  • Can have more than one Budget
  • Can delete budget

User Structure

Name: Name of user 
id: key for this user 
auth_token: federated token used by user to authenticate
auth_provider: federated id provider for this user
    budgets: list of user's budgets

Budget

  • Contains an expenses log
  • Contains at least one shopping list per section, per category
  • Contains an income log
  • Contains Budget Reports
  • A budget will usually be split into 1 or more sections
  • Contains a spending plan one that is generated from shopping list(s)

Budget Structure

Name: Name of the budget 
Period: The date/time range the budget is valid in
Amount in: Amount of resources this budget has been allocated
Amount out: Amount of resources this budget had expended
id: a key that identifies this budget 
sections: number of splits for a budget
spending_categories: categories for spending 
income_categories: categories of income
    user_id: id of budget owner 
    is_active: boolean that checks whether this budget is currently in use

Shopping Category Summary

  • This a curated list of chunks one needs to spend on
  • Each budget contains only one of these

Shopping Category

  • This is an area for a planned chunk of expense in a budget e.g Household
  • This is generated as an application of a filter (category, location, section)

Shopping Category Item Structure

Name: Name of the item to be bought
Comments: Any comments to go with this shopping item 
Category: Category of this planned expense
    budget_id: id of the budget this category belongs too

Wants List

  • This will be created once and locked for a budget (once the budget has begun this will be locked)
  • Contains a list of broken down planned purchases for a budget's sections
  • Can also be a filter of a section's list by any of the other factors (location, category)
  • Budgets will contain at least one of these (each budget section gets one of this)

Wants List Item

  • This is an item of purchase for this budget

Wants List Item Structure

Name: Name of item to be purchased 
Price: Price of item to be purchased
Location: Location of purchase for this item 
Category: Category that this shopping item falls under from its expense plan item 
Type: The type of purchase that this item falls under 
    budget_id: id of the budget this want falls in

Purchase List

  • Contains a list of broken down planned purchases for a budgets sections same as the wants section the key difference is this list has been balanced out with the income amount
  • Can also be a filter of a sections list by any of the other factors (location, category)
  • Budgets will contain at least one of these (each budget section gets one of this)

Purchase List Item

  • This is an item of purchase for this budget

Purchase List Item Structure

Name: Name of item to be purchased 
Price: Price of item to be purchased
Location: Location of purchase for this item 
Category: Category that this shopping item falls under from its expense plan item 
Type: The type of purchase that this item falls under 
actual_price: price of item as entered at shop
    budget_id: budget where this is purchased in

Expense Log

  • This is an accumulated list of all expenditures that have been done in this budget
  • Budgets will contain at least one of these

Expense

  • This is any transaction that requires a credit from this budgets allocated amount

Expense Structure

Date: Date when this amount was spent
Name: The label of this expense 
Cost: Amount of money spent on this 
Type: This is the type of expenditure this should be derived from the ones set for this budget
Category: This is the category this expenditure falls under 
Payment Method: This is the method of payment used for this expense
    budget_id: id of the budget this expense belongs to

Income Log

  • This is an accumulated list of amounts of money allocated to this budget
  • Each budget will have at least one of these

Income Log Item

  • This is every instance where this budget has gotten money allocated to it

Income Log Item Structure

Name: the label for the income
Amount: Amount allocated 
Type: Type of income 
Date: Date available 
Comments: Any Comments 
id: Id of income item
    budget_id: id of the budget this income log belongs to 

Savings Log

  • This is a list of all the savings items added to this budget

Savings log Item Structure

Name: Name of item
Amount: Amount allocated 
Category: Category Saved for (could be a new one or linked to budget categories
budget_id: the key of the budget this item is being added to 
id: a key that identifies a log item 

Reports / Stats

Every budget will contain a summaries section in this section one can have convenience summaries

  • All subtotals in the application (sections, categories, types, locations, item)
  • Account balances these are to be calculated from the income and actual_price totals
  • Savings total
  • Wants totals
  • Purchase list totals
  • Expenses totals

Savings Sheet

Clone this wiki locally