# roadmap

1. write a parser for user messages such as `/in [name] [amount] [details]` and `/out [name] [amount] [details]` - **DONE**: `src/grammar`
2. attach metadata (`datetime`) to each message - **DONE**
3. write (append) to a ordered by datetime CSV file as double-entry bookkeeping registry - **DONE**
4. export CSV through HTTP URI e.g. `https://fragal.eu/expenses/` (protected by auth or encrypted) - use NGINX for this - **DONE**
5. reminder to update expenses at given hour, able to set it with `remindme <datetime>` or `remindme <timespan>` command - **DONE**
6. 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
