omarchehab98 / autobank Goto Github PK
View Code? Open in Web Editor NEWAutomated expense tracker by parsing bank emails
License: MIT License
Automated expense tracker by parsing bank emails
License: MIT License
Build failing because environment.js is in gitignore.
Does your bank send email notifications of transactions? I bank with Royal Bank of Canada (RBC), I enabled email notifications for every transaction.
I wrote four filters (src/server/mail/filters/rbc.js) that parse the different emails that RBC can send.
Classification of emails is achieved through a functional filtering API (docs/filter.md), using the field set filter (docs/filters/fieldset.md).
An example of the filter that detects RBC's emails is documented in (docs/filters/rbc.md).
Write a filter that classifies your bank's email notifications.
Add a in ExpensesPage.js with controls that allow filtering cards by timestamp
, category
, and searching by fuzzy matching description
.
Don't worry about design, as long as you use material-ui components, it should look great ๐
Currently, expense and income documents are created only when an email is read.
Add the ability to manually create expense and income transactions using the UI.
I imagine adding a material-ui/FloatingActionButton
When it is clicked, user is prompted for the following information in a Modal Dialog material-ui/dialog
:
When an expense is edited, the expenses array needs to maintain it's sort by timestamp
descending.
Currently, I approach this issue in a very naive way by calling .sort(byTimestamp)
ExpensesPage.js#L53.
Terrible efficiency aside, Javascript's Array.prototype.sort
is
not necessarily stable
Optimally, this issue can be resolved by not involving sorting at all.
When a card A
's timestamp
is modified, slice it out of the array and insert in between two adjacent elements B
and C
where A.timestamp <= B.timestamp and A.timestamp >= C.timestamp
When a user has multiple accounts and the user transfers money from one account to another, the bar graphs and piecharts get skewed because the software doesn't know it's an inter-account transfer
so it shows them as expenses and incomes.
Modify the software so that inter-account transfers are automatically detected. So, expense and income documents will be tagged as an one.
On the frontend, the pie-charts and bar-graphs should not graph inter-account transfers.
Show currency and restyle to make it blend into material design theme.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.