Giter VIP home page Giter VIP logo

luigi-pastorepica / freed Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 51 KB

A simple tool to help users easily see the outlook for multiple personal debts. It is expected to assist the user in making decisions on where to allocate additional money to pay less in the long term. This software is intended to be used alongside a data visualization library to display graphs and other data that might be considered pertinent.

License: MIT License

Python 100.00%
debt money pay loans income-and-expenses income money-management savings minimum-payments

freed's Introduction

FreeD

Debt Growth Outlook Visualization and Repayment Decision Assitant

GitHub Travis (.com) Codecov Codacy grade Read the Docs

Repo's Page

Documentation

FreeD in a nutshell (What is it?)

A tool that leverages multiple visualizations to show at a glance the outlook for multiple debts. By having a visual representation based on the input data, the user can easily realize which debts would cost more in the long term, helping in the decision of which one to repay more agressively first.

Motivation

When managing debt, you usually want to save money. As a result, it is recommended to calculate which debt is costing you more money in the long term regarding accrued interest and pay that one more agressively.

Every couple of months, after doing some payments, I find myself re-calculating which debt is growing faster in order to adjust where to allocate money above the minimum payments. This is a relatively simple process when dealing with a few accounts, but it becomes tedious to do repeatedly and periodically for several accounts.

Objective

The intention of this project is to create a simple personal finance tool for saving money when repaying debt. This application would allow to keep track of credits and loans, their interest rates, how much is still owed, mothly minimums, etc. Such data will be used to calculate and recommend which debt(s) to pay above the minimum at that particular time and, if the same amount is paid each month, at which point that debt is no longer the one accruing the most interest (in absolute values, not percentages).

The idea is that the user can clearly see which debts are the fastest growing, helping them evaluate which are more beneficial to pay more aggressively first (and up to what amount) in order to save money in the long term and extablish a roadmap to free themselves from debt.

Some Features that Might be Included

  • Easily modify values for remaining principal, interest rate, minimum payment, budget available (these are variable, so this feature would be really useful).
  • Present the user with a table of debts/loans that can be ordered based on different criteria.
  • Draw a plot, graph, or some other visualization that shows the projected change of the different balances (principal and interest) based on current data.

freed's People

Contributors

luigi-pastorepica avatar

Stargazers

 avatar  avatar

Watchers

 avatar

freed's Issues

Deliverables Thursday Nov. 19

  • Do one of the following:
    • Add example snippets/screenshots to docs
    • Set up example snippets site
    • Set up example app

Produce a Simple Visualization

Take the information input by the user and create a visualization. My first idea is to create a simple plot showing how different debts are projected to grow based on current data and applying simple formulas.

Deliverables Tuesday Oct 13

  • Set up automated testing for the repo using one of the recommended providers
  • Write at least 5 tests to be run during CI
  • Modify repo to only accept PRs to master if tests pass
  • Add test status badge to README and project proposal

Deliverables Thursday Nov. 5

  • Set up documentation for project
  • Host documentation under readthedocs
  • Set up API autodocumentation, include at least 4 elements
  • Add readthedocs badge to the Readme.
  • Optional:
    • Remember to write down documentation for everything that we have done for this class. (Problems, justification for decisions. What tools and frameworks are used.)
    • Add link to readthedocs page in the Readme.
    • Add Readme's content to the top of the readthedocs page.

Create simple user class

The user class will be the main holder of data while the application is in use.
Data to instantiate an user object will come from a database. Such data will be either an entry of a relation in a relational database, a document (e.g. JSON file) stored in a document database (e.g MongoDB), or even a data structure in some other kind of NoSQL database (e.g. Redis).

Missing Descriptive Title and Short Descrition

  • Rename the project to its own name. This name can change in the future.
  • There should be a What is it? section or similar at the beginning of the README. It should be short an allow the potential user or contributor to understand what the project is about without having to read the entire document.

Create a Local DB for Customer Data Storage

I have not decided whether to go relational vs. non-relational, nor any DBMS yet. Some ideas are:

  • Relational:
  • MySQL
  • Non-relational:
  • Document DB - MongoDB
  • Data Structure DB - Redis

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.