This repository is completed as part of Springboard Software Engineering Career Track capstone two. The backend can be found here.
"ExpenseBud" is a web app for users to easily track their expenses and budget goals. Aside from manual entries of expenses, users could connect with their financial institutions to import transactions via the Plaid API. Both the expenses and budgets data are visualized in a simple to understand dashboard for high level overview.
View the application here on Render. Best viewed on desktop.
Demo credentials:
Username: testuser
Password: testuser
Please note that the backend server deployed on Render may take a moment to load.
Accounts page to connect with financial institution
- React
- Material UI
- Chart.js
- React Chart.js
- Express
- Node.js
- PostgreSQL
- Axios
- JWT
- Data visualization: pie chart to visualize expense distribution and column chart to visualize total expenses compared to budget goals.
- Budget management: set up and manage budgets for various categories (eg. transportation, medical, food & beverage, etc.).
- Expense management: import transactions from financial institution or manually enter with details such as date, amount, category, and description. Imported transactions will automatically be categorized.
- User profile: profile management and user authentication via register or login.
- New user creates an account / Returning user logs in. On success, user will be directed to Dashboard.
- Set budget goals in the Budgets tab.
- Add expenses via Accounts tab by connecting with a financial institution OR add expenses manually via Expenses tab.
- If adding an account in Accounts tab, the 'Connect a Bank Account' button will prompt a series of login steps via Plaid API. The app is currently set in sandbox mode so no real credentials and transactions are involved.
- Review aggregated data in Dashboard.
- User logs out.
Tests are contained in the folder each component belongs to and can be run with npm test
at the root directory.