Coder Social home page Coder Social logo

money.txt's People

Watchers

 avatar  avatar  avatar

Forkers

av-elier

money.txt's Issues

Budget

  • setup in a form of <date> !budget [weakly|monthly|...]
  • notifications on main page if it's exceeded or almost exceeded
  • money left and days left for every budget
  • "red line" on plots, related to this period, if it makes sense
  • some random funny idioms or citations about saving money? :)

Tags anywhere in the line

Something like this

2015.10.02 food, sweets 123 delicious cakes @not-at-home
2015.10.02 clothes 1234 @she
2015.10.02 clothes 1234 @he
2015.10.02 food, sweets 123 @not-at-home delicious cakes @some-tag
2015.10.02 food, sweets 123 delicious cakes #not-at-home
2015.10.02 food, sweets 123 #not-at-home #some-tag delicious cakes 

I'm pretty sure there should be no white spaces in tags.

Add periodic expenses.

Something like this:
2017.08.02 !periodic 200 mobile connection
which during calculations adds corresponding "imaginary lines" after this entry.

Show last entries

Some very simple representation would go for the first time.
It's discussable what way to choose.

  1. Show the tail of money.txt, because there is no way (by design) to determine actually the most recently added entries.
  2. Show recent expenses and incomes sorted by date.
    NB: try to make the view compact.

Capability to add entries from web

Something elementary would go for the first time.
Capabilities to:

  • enter entries as text lines (one text field)
  • validate the input
  • if succeed, append to money.txt (at appropriate position?)

Extend money.txt format

Problem

Current format is fairly limited, and not always obvious.

  • date have to be the first in the line, and have to have yyyy.mm.dd format. You can not write date at the end of the line, in brackets, or in yyyy/mm/dd format,
  • it is not possible to distinguish income and expense in one line. For example, when you withdraw money from card,
  • it have no support for multiple currencies and/or sources for conversion -270sber + 10$,
  • you cannot write money.txt as a human.

Proposed solution

Make format more flexible and text-like. Successfully parse any line into something. Use optimistic parsing, defaults, free format.

  • scan a line to find a date like 2016-12-06 in some standard format,
  • --//-- all parts of money numbers -1 or 7,
  • --//-- #hashtags and @mentions,
  • use whole line as a note,
  • add optional suffixes for money numbers, like 3$ or 5700vtb to mark different sources and currencies
  • use not positional, but text syntax for marking categories. I suggest prefix bang !food,
  • allow multiple categories instead of tree-like category structure,
  • add defaults for all fields,
  • get rid of complex math in expressions.

Additional proposion

Companion application should only help analyze money.txt. Everyone can write and save text file on any device already.

Examples

All examples have note equal to whole line,

Any line with date 2016.12.06 and no numbers
-15
Bought a #flower -2$ 28.01.2017.
!salary at #DeathStar 123imperial_credit #stormtrooper
!Lost a -100€ bill today. I have no idea where did this happened! So embarrassing (Later that day) Yay! I !found that 100€ bill in a pocket. So happy)
Пришлось потратить -19р на трамвай маршрута №432 на Зелёной улице. @Джуффин об этом не предупреждал
  • Any line with date 2016.12.06 parse to
    • date=2016.12.06
    • default currency numeric expression=0 (default)
  • -15 parse to
    • date=2016.12.06 (default: same as last one before)
    • default currency numeric parts [15]
  • Bought a #flower -2$ 28.01.2017. parse to
    • date=2017.01.28
    • numeric parts in $ [-2]
    • hashtags: [flower]
  • !salary at #DeathStar 123imperial_credit #stormtrooper parse to
    • date=2017.01.28 (even if it makes no sense)
    • category [salary]
    • hashtags [DeathStar, stormtrooper]
    • numeric parts in imperial_credit [123]
  • !Lost a -100€ bill today. I have no idea where did this happened! So embarrassing (Later that day) Yay! I !found that 100€ bill in a pocket. So happy) parse to
    • date=2017.01.28
    • numeric parts in [-100, +100] (one can evaluate it to zero, but it's not the same)
    • categories [lost, found]
  • Пришлось потратить -19р на трамвай маршрута №432 на Зелёной улице. @Джуффин об этом не предупреждал
    • date=2017.01.28
    • numeric parts in р [-19] (note, №432 starts not with a number)
    • mentions: @Джуффин

Master branch + readme

Move the development to master branch and make some README file for a fortuitous stranger.

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.