Giter Club home page Giter Club logo

bouch's Introduction

Bouch

GitLab Migration

Bouch is the budget pouch. A simple tool to calculate and project your annual personal budget based on fiscal quarter expenditures, income, assets, and debts.

Use it to help establish an annual financial plan, set monetary goals, and gain perspective on your financial health.

Install

To install bouch simply:

  • Clone this git repository and install bouch as a local RubyGem

To clone this git repository execute this command in a terminal emulator's command-line interface:

git clone https://github.com/siris/bouch.git

To install bouch as a local RubyGem simply run these commands in a terminal emulator's CLI:

cd bouch
gem build bouch.gemspec
gem install bouch-X.X.X.gem

Usage

Bouch takes a simple YAML file as its primary data input. This will be referred to as a budget pouch file.

There is an example budget pouch file called pouch.example.yml.

Use this budget pouch file and execute the following command on your favorite terminal emulator's CLI:

bouch pouch.example.yml

You should see the example budget summary output:

----------------------
Quarter 1:                     3025.00
Quarter 2:                     3025.00
Quarter 3:                     3025.00
Quarter 4:                     3025.00
----------------------
Budget Annual Total:           12100.00
Budget Annual Income:          28808.00
Budget Income Percent:         42.00%
----------------------
Assets Total:                  1000.00
----------------------
Debt Total:                    420.00
Debt Ratio:                    0.4200
Debt Ratio Percent:            42.00%
----------------------

Pouch Schema

To use bouch to calculate your own budget you must create a customized budget pouch file.

Budget pouch files are written in Ruby friendly YAML and currently use the following schema:

  • Deeply nested mappings, also know as hashes
  • Think of hashes as simple groupings of keys and values
  • Primary hash keys:
    • Budget
    • Salary
    • Assets
    • Debts
  • Budget nested keys and values:
    • Q1
      • foo
        • Value: Integer or Float
        • Equals a budget item's quarterly cost
      • bar
        • cost
          • Value: Integer or Float
          • Equals the monthly cost of any repeated payment
        • repeat
          • Value: true
          • Enables quarterly auto-calculation of the repeat payment
    • Q2
      • Same nested schema as Q1
    • Q3
      • Same nested schema as Q1
    • Q4
      • Same nested schema as Q1
  • Salary nested keys and values:
    • quantity
      • Value: Float or Integer
      • Equals amount of after-tax money per salary pay period
    • frequency
      • Value: Integer
      • Equals number of weeks for each salary pay period
  • Assets nested keys and values:
    • foo
      • Value: Integer or Float
      • Equals an asset's total valued amount
  • Debts nested keys and values:
    • bar
      • Value: Integer or Float
      • Equals a debt's total valued amount
  • All non-primary nested keys are case insensitive

Here is an simple example of of budget pouch file:

---
Budget:
  Q1:
    Rent:
      cost: 1000
      repeat: true
    foo: 20
    bar: 5
  Q2:
    Rent:
      cost: 1000
      repeat: true
    fizz: 20
    buzz: 5
  Q3:
    Rent:
      cost: 1000
      repeat: true
    bubble: 20
    sort: 5
  Q4:
    Rent:
      cost: 1000
      repeat: true
    baz: 20
    qax: 5
Salary:
  quantity: 1108.00
  frequency: 2
Assets:
  foo: 500
  bar: 500
Debts:
  baz: 120
  qax: 300
...

bouch's People

Contributors

siris avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.