expenses's People
expenses's Issues
BUG: selecting files to delete while confirm is selected crashes
Steps:
- Delete Files
- Pick a file
- Check confirm delete
- Pick another file
add a sample visualization to the UI
Make a hostable version
One of the pain points of using this app is that it's difficult for non-programmers to set it up.
We can try making a "website" run this so a User can log in and see their expenses.
Required to make this work:
- some form of username / password authentication. Can start by doing this through streamlit.
- some form of data sandboxing per user.
Optional add on:
- encrypt each user's data using their password, only decrypt them in RAM when using the app. at rest they should be encrypted and un-readable by the server operator.
feature: Make a way to define custom rules in the UI
Right now when a credit card transaction doesn't have a category, it defaults to Other. The current workflow to properly characterize "Other" transactions is to edit the python code to add a rule for it.
It would be nice to be able to add/edit/remove custom rules completely from the UI and auto update the categories as the rules are tweaked.
add integration test
add an end-to-end test of the full pipeline, using the sample data
Fix: spending over time x-axis is misleading
add support for uber (barclays) visa credit card
display head uploaded file upon upload
multiple term query in description box
Right now only 1 term can be searched at a time by using the description box.
Support the following usecases:
uber+lyft
--> search for uber OR lyft
uber*eats
--> search for uber (wildcard) eats
uber^!eats
--> search for uber AND NOT eats
add manual data source
in addition to cc transactions, maybe we want to include manual transactions, such as rent / venmo / etc.
add this as a new data source.
make pipeline run purely python, implement run endpoint
cleanup bash scripts
Feature: Pie chart for description field
Given an input like:
!wayfair^!REI^!Google^!Micro^!Best^!START^!OONI^!THURO^!SQUAW^!SAIKO^!Amazon^!Hard^!Whole^!Home^!ebay^!sitonit
Show a pie chart of each category along with everything else
dev feature: github actions to cache requirements
right now the test phase of github actions is slow mainly due to running pip install -r requirements.txt
each time, there's probably a better way to do this using either caches or a docker image.
potential idea: https://medium.com/ai2-blog/python-caching-in-github-actions-e9452698e98d
implement upload button + endpoint
Feature: add color picker to user defined categories
feature: user defined exclude categories
make validate + auto card detect
to improve user experience we'll auto-detect which card type a data file is from the columns.
dropping the filename convention
Source field should be different for two different cards by the same provider
Right now, source appears as amex for both Amex Platinum and Amex Blue Cash. It would be better if these two appeared separately
make flask UI with upload + run buttons
feature: edit data in UI
It would be nice to be able to fix errors / update data directly in the UI. This looks like a promising way to do this on the frontend: https://github.com/PablocFonseca/streamlit-aggrid , need to tie it in to the back end as well so that changes persist
dev feature: cleanup frontend code
Need to take a step back and look at the frontend code to see if it can be organized better. a lot of features have been added and the code in src/streamlit_app.py
has become a little challenging to work with
Fix: make user and login work again
User logic got removed since it broke from updating streamlit. Find a new solution to do auth and login.
BUG: broken on Windows
something about tempfile is crashing on windows
feature: Make data fill in automatically
Right now we have to manually download, then upload, csvs from every card whenever we want to see updated expense data which is a pain.
It would be really nice if we could click a button and have the app automatically pull the latest data for each card we've added.
The Plaid API can make this happen.
improve first time user experience
Right now clicking the Run Pipeline
button in the UI throws an error if no data has been uploaded, should instead say something more useful.
Also add some instructions / guide how to get started for new users.
add tests for extract / parse / standardize steps
feature: have the UI remember the settings last used
Right now whenever the app is opened from scratch, all the date ranges and selections reset to default values.
It would be better if they defaulted to the last used values, for example the date range since usually the most interesting data is recent, not since the beginning.
barclays card is mischaracterized as chase
barclays looks like this
Transaction Date,Description,Category,Amount
12/27/2019,"Payment Received","CREDIT",1469.31
12/25/2019,"MYNTRA DESIGNS PRIVATE","DEBIT",-21.90
12/22/2019,"UBER TRIP HELP.UBER.COM","DEBIT",-8.09
12/21/2019,"PEETS COFFEE","DEBIT",-17.09
12/20/2019,"DUNKIN #356593","DEBIT",-2.39
12/19/2019,"CHULO RESTAURANT & BAR","DEBIT",-62.39
12/17/2019,"TST* AREA FOUR RESTAURANT","DEBIT",-3.68
12/17/2019,"STARBUCKS STORE 08742","DEBIT",-8.45
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.