Coder Social home page Coder Social logo

lewismoten / schmuck-miser Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 9.99 MB

Tool to track my finances and sometimes foolish decisions.

Home Page: https://lewismoten.github.io/schmuck-miser/

JavaScript 99.49% EJS 0.51%
money-tracker networth finances wealth-management money stocks cryptocurrency asset-management

schmuck-miser's Introduction

Schmuck Miser

Tool to track my finances and sometimes foolish decisions. Sometimes I pinch pennies. Sometimes I spare no expense. Who's the Schmuck Miser? Me!

Screenshot

Whats going on now...

At the moment, most of the work is targeting underlying architecture in how things are loaded, choosing what frameworks to use, code splitting, persistence of data, etc. The app is not in a usable state for an end-user.

In general, this is a project that lets me learn about new technologies and get working experience with things that interest me.

Demo

๐Ÿšง Things will break! ๐Ÿšง

๐Ÿšง https://lewismoten.github.io/schmuck-miser/ ๐Ÿšง

Goals

  • Budgeting monthly, annually, and identify emergency budget
  • Dividend Payout Calendar
  • Chart of gross/net worth over time
  • Track
    • Stock Trades, cost basis, net flow, and benchmarking
    • Spending from cash accounts
    • Paystubs
    • Lifetime taxed income reported to social security administration
    • Inflation adjustments
    • Cryptocurrency purchases and mining
    • Utility bills
    • Energy usage on EV, Cryptocurrency Miners, and solar panel output
    • Art Investments
    • Assets
    • Vehicles and total cost of ownership
    • Mortgage and equity
    • Loans, Credit Cards, and other forms of debt
    • Cash rewards
    • Credit Scores
  • Daily notes
  • Quick Data Entry
  • Data import from external sources
  • PDF report generation
  • Project future value of investments
  • Project future value of income
  • Project time before cryptocurrency mining meets thresholds to withdraw
  • Project taxes on short/long term realized gains

What is it again?

For almost a year, I've been tracking my finances in a google spreadsheet. This spreadsheet has grown as I've added more things to track. Student loans, mortgage payments, utility bills, cryptocurrency mining, stocks held in the market and benchmarking for performance, dividend payout calendar, budgeting for a full year, pay stub logs, total lifetime earnings taxed via social security/medicare, credit scores, credit report details, daily notes, and the list goes on.

Once I started tracking things daily, my financial life has taken a turn for the better, and more opportunities became apparent.

I've come to the realization that a lot of this needs to be done in a website to reduce the amount of effort I'm putting in each day to manage the spreadsheet.

Why?

I used to have a financial advisor and was preparing a few things for our annual review. Essentially I try to have as much information as possible so that I am ready for anything asked for. After our meeting, I realized the report I had made was far more useful to me than what he was offering.

As I started using the spreadsheet more often, I could see the "big picture". A budget let me see the total effect of spending on an annual basis and revealed goals of what I could eliminate. Services were cut, reduced, or switched providers. Benchmarking my holdings in the stock market against an index helped give me confidence that I was doing well. Unfortunately, it also revealed a great amount of opportunity loss with the accounts under management with my financial advisor.

As I've continued throughout the year, I've continued to locate more data and evaluate how I can improve my financial health with great success.

Stack

So for now, I'm experimenting with material-ui on this project. I'm also focusing on making this usable on my phone, so the interface isn't going to look great on desktop browsers at first.

Other notes

I'm targeting low transfer rates because I have found myself in large dead zones when visiting family, and my cell phones data plan is limited to 4GB/month. And because I'm interested in performance.

schmuck-miser's People

Contributors

lewismoten avatar

Watchers

 avatar  avatar

schmuck-miser's Issues

2FA Settings

General

  • Localize all languages
  • Split off to own route and settings menu action
  • Separate into own npm package

Secret

  • Add button to copy secret to clipboard

QR Code

  • QR Code takes on @mui theme colors
  • QR Code is too big to see on larger displays. Fix this...
    • QR Code hidden when iPhone rotated. Display QR Code / OTP Token input side-by-side
  • display logo on qr code
  • customize site name sent via qr code
  • customize user name sent via qr code
  • review memory caching packages for qr code image
  • auto-cancel if taking too long to setup (5 min?)

Token

  • split otp entry as six text boxes and focus as each one is entered
  • clear token when it fails verification
  • clear token when timer runs out
  • prevent more than six digits
  • reset otp token after 6th digit entered
  • Add button to paste otp from clipboard
    • Detect if clipboard has token when browser activated again (task switching from authenticator)
    • detect pasting otp token

Timer

  • show countdown timer for next otp code
  • Timer getting squeezed when progress bar is small
  • Move logic to redux saga

Performance

  • Split into separate 2FA slice so actions do not include "otp" in names
  • chunk so secret generation and qr code not loaded unless needed

Integration

  • Autocomplete for password managers
    • 1Password not filling out generated code (works over https, not http on localhost)
  • Support/use WebOTP API https://wicg.github.io/web-otp/

Setup Typescript

  • Setup webpack / babel to process typescript
  • Convert all deployed files to typescript
  • Resolve all compile errors (down to 90)
  • Infer React PropTypes from interfaces in develop / run-time
  • Setup IDE to support linting typescript files
    • Atom IDE Invalid URL: eslintrc.cjs
    • Review plugin:jsx-a11y/recommended
    • Review plugin:prettier/recommended
    • Review plugin:import/recommended
  • Add typescript file to @lewismoten/emoji project
  • Restore text alignment in SelectLanguage dropdown list.

Duplicate language names cause duplicate key warning

Change language to The Klingon Language. Look at drop-down of available languages. Since all languages are referred to as being from Earth, they are all the same name Te ra'. The language itself is being used as the key, which throws duplicate key warnings.

Warning: Encountered two children with the same key, Te ra'. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted โ€” the behavior is unsupported and could change in a future version.

Change the key to be based on the language code instead (ie fr for Farsi)

Screen Shot 2021-12-21 at 7 47 57 PM

Encryption

  • Option to encrypt/decrypt imported/exported data
  • Encrypt 2FA secret

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.