roadmap
- write a parser for user messages such as
/in [name] [amount] [details] and /out [name] [amount] [details] - DONE: src/grammar
- attach metadata (
datetime) to each message - DONE
- write (append) to a ordered by datetime CSV file as double-entry bookkeeping registry - DONE
- export CSV through HTTP URI e.g.
https://fragal.eu/expenses/ (protected by auth or encrypted) - use NGINX for this - DONE
- reminder to update expenses at given hour, able to set it with
remindme <datetime> or remindme <timespan> command - DONE
- Add global hash table to keep track of latest messages by every user (needed for reminder)
- protect csv using token in request
- add
categories
- generate a readable report of expenses in a given period on query e.g.
/report [daily|weekly|/montly|/yearly] or /r [d|w|m|y]
- move from CSV to a SQLITE database for persistence, keeping functionality of point 4
- add other functionalities such as setting limits for a period and alerting / memos