Finance planner app to track and calculate finance info from expenses, banking, investments, savings, insurance and get advice from AI features. Developed with MERN, Firebase, Go, GraphQL, Redis, Postgresql, and ML based APIs.
The structure of the codebase is as follows:
βββ πfin-tracker
βββ πpublic
βββ android-chrome-192x192.png
βββ android-chrome-512x512.png
βββ apple-touch-icon.png
βββ favicon-16x16.png
βββ favicon-32x32.png
βββ favicon.ico
βββ index.html
βββ logo192.png
βββ logo512.png
βββ manifest.json
βββ robots.txt
βββ site.webmanifest
βββ πsrc
βββ πassets
βββ blog-featured-what-is-chatbot.svg
βββ close-button.svg
βββ sunset-1373171_1280.jpg
βββ πcomponents
βββ πshared
βββ πabout-links
βββ about-links.component.tsx
βββ about-links.styles.scss
βββ πbutton
βββ button.component.tsx
βββ button.styles.scss
βββ button.styles.tsx
βββ πchatbot
βββ πchatbot-response
βββ chatbot-response.component.tsx
βββ chatbot-response.styles.scss
βββ chatbot-response.styles.tsx
βββ πdrop-button
βββ drop-button.styles.tsx
βββ πform-input
βββ form-input.component.tsx
βββ form-input.styles.scss
βββ form-input.styles.tsx
βββ πmarket-view
βββ πmarket-data-graph
βββ market-data-graph.component.tsx
βββ market-data-graph.styles.scss
βββ market-data-graph.styles.tsx
βββ πmarket-data-search
βββ market-data-search.component.tsx
βββ market-data-search.styles.scss
βββ market-data-search.styles.tsx
βββ πmui
βββ πaccordion
βββ accordion.component.tsx
βββ accordion.styles.scss
βββ πcard
βββ card.component.tsx
βββ card.styles.scss
βββ πdrawer
βββ drawer.component.tsx
βββ drawer.styles.scss
βββ πfloating-action-button
βββ floating-action-button.component.tsx
βββ floating-action-button.styles.scss
βββ πhidden-drawer
βββ hidden-drawer.component.tsx
βββ hidden-drawer.styles.scss
βββ πmedia-card
βββ media-card.component.tsx
βββ media-card.styles.jsx
βββ πpaper
βββ paper.component.tsx
βββ paper.styles.scss
βββ πresponsive-drawer
βββ responsive-drawer.component.tsx
βββ responsive-drawer.styles.scss
βββ πtabs
βββ tabs.component.tsx
βββ tabs.styles.scss
βββ πsavings-goal-calculator
βββ πsavings-goal-calculator-result
βββ savings-goal-graph.component.tsx
βββ savings-goal-graph.styles.scss
βββ savings-goal-graph.styles.tsx
βββ savings-goal-result.component.tsx
βββ savings-goal-result.styles.scss
βββ savings-goal-result.styles.tsx
βββ savings-goal-table.component.tsx
βββ savings-goal-table.styles.scss
βββ savings-goal-table.styles.tsx
βββ savings-goal-calculator.component.tsx
βββ savings-goal-calculator.styles.scss
βββ savings-goal-calculator.styles.tsx
βββ πuseful-tools
βββ πcurrency-converter
βββ currency-converter-result.component.tsx
βββ currency-converter-result.styles.scss
βββ currency-converter-result.styles.tsx
βββ currency-converter.component.tsx
βββ currency-converter.styles.scss
βββ currency-converter.styles.tsx
βββ πexchange-rate
βββ exchange-rate-result.component.tsx
βββ exchange-rate-result.styles.scss
βββ exchange-rate-result.styles.tsx
βββ exchange-rate.component.tsx
βββ exchange-rate.styles.scss
βββ exchange-rate.styles.tsx
βββ πmortgage-calculator
βββ mortgage-calculator-result.component.tsx
βββ mortgage-calculator-result.styles.scss
βββ mortgage-calculator-result.styles.tsx
βββ mortgage-calculator.component.tsx
βββ mortgage-calculator.styles.scss
βββ mortgage-calculator.styles.tsx
βββ πsigned-in
βββ πbanking
βββ πaction-list
βββ action-list.component.jsx
βββ action-list.styles.jsx
βββ action-list.styles.scss
βββ πall-banking-summary
βββ all-banking-summary.component.jsx
βββ all-banking-summary.styles.jsx
βββ all-banking-summary.styles.scss
βββ πbank-account-form
βββ bank-account-form.component.jsx
βββ bank-account-form.styles.jsx
βββ bank-account-form.styles.scss
βββ πbank-accounts
βββ bank-accounts.component.jsx
βββ bank-accounts.styles.jsx
βββ bank-accounts.styles.scss
βββ πclose-account
βββ close-account.component.jsx
βββ close-account.styles.jsx
βββ close-account.styless.scss
βββ πcreate-account
βββ create-account.component.jsx
βββ create-account.styles.jsx
βββ create-account.styles.scss
βββ πdeposit
βββ deposit.component.jsx
βββ deposit.styles.jsx
βββ deposit.styles.scss
βββ πsummary
βββ summary.component.jsx
βββ summary.styles.jsx
βββ summary.styles.scss
βββ πsummary-graph
βββ summary-graph.component.jsx
βββ summary-graph.styles.jsx
βββ summary-graph.styles.scss
βββ πtransaction
βββ transaction.component.jsx
βββ transaction.styles.jsx
βββ transaction.styles.scss
βββ πtransactions
βββ transactions.component.jsx
βββ transactions.styles.jsx
βββ transactions.styles.scss
βββ πtransfer-money
βββ transfer-money.component.jsx
βββ transfer-money.styles.jsx
βββ transfer-money.styles.scss
βββ πwithdraw
βββ withdraw.component.jsx
βββ withdraw.styles.jsx
βββ withdraw.styles.scss
βββ πexpenses
βββ πadd-expense
βββ add-expense.component.jsx
βββ add-expense.styles.scss
βββ πdelete-expense
βββ delete-expense.component.jsx
βββ delete-expense.styles.scss
βββ πexpenses-filter
βββ expense-filter.component.jsx
βββ expense-filter.styles.jsx
βββ expense-filter.styles.scss
βββ πexpenses-filter-info
βββ expenses-filter-info.component.jsx
βββ expenses-filter-info.styles.jsx
βββ πexpenses-form
βββ expenses-form.component.jsx
βββ expenses-form.styles.jsx
βββ expenses-form.styles.scss
βββ πexpenses-graph
βββ expenses-graph.component.jsx
βββ expenses-graph.styles.jsx
βββ expenses-graph.styles.scss
βββ πexpenses-summary
βββ expenses-summary.component.jsx
βββ expenses-summary.styles.jsx
βββ expenses-summary.styles.scss
βββ πexpenses-table
βββ expenses-table.component.jsx
βββ expenses-table.styles.jsx
βββ expenses-table.styles.scss
βββ πschedule
βββ πschedule-calendar
βββ schedule-calendar.component.jsx
βββ schedule-calendar.styles.jsx
βββ schedule-calendar.styles.scss
βββ πschedule-day-info
βββ schedule-day-info.component.jsx
βββ schedule-day-info.styles.jsx
βββ schedule-day-info.styles.scss
βββ πexports
βββ πemail-export
βββ email-export.component.jsx
βββ email-export.styles.scss
βββ email-icon.png
βββ πexport-box
βββ export-box.component.jsx
βββ export-box.styles.scss
βββ πpdf-export
βββ pdf-export.component.jsx
βββ pdf-export.styles.scss
βββ pdf-icon.png
βββ πtxt-export
βββ txt-export.component.jsx
βββ txt-export.styles.scss
βββ txt-icon.png
βββ πfinance-tracker-item
βββ finance-tracker-item.component.jsx
βββ finance-tracker-item.styles.scss
βββ πfinance-tracker-item-info
βββ finance-tracker-item-info.component.jsx
βββ finance-tracker-item-info.styles.scss
βββ πfinance-tracker-item-summary
βββ finance-tracker-item-summary.component.jsx
βββ finance-tracker-item-summary.styles.scss
βββ πfinance-tracker-items
βββ finance-tracker-items.component.jsx
βββ finance-tracker-items.styles.scss
βββ πform-view
βββ form-view.component.jsx
βββ form-view.styles.scss
βββ πinsurance
βββ πadd-insurance-form
βββ add-insurance-form.component.jsx
βββ add-insurance-form.styles.jsx
βββ add-insurance-form.styles.scss
βββ πfilter-insurance-form
βββ filter-insurance-form.component.jsx
βββ filter-insurance-form.styles.jsx
βββ filter-insurance-form.styles.scss
βββ πinsurance-filter-info
βββ insurance-filter-info.component.jsx
βββ insurance-filter-info.styles.jsx
βββ πinsurance-pie-chart
βββ insurance-pie-chart.component.jsx
βββ insurance-pie-chart.styles.jsx
βββ insurance-pie-chart.styles.scss
βββ πinsurance-summary
βββ insurance-summary.component.jsx
βββ insurance-summary.styles.jsx
βββ insurance-summary.styles.scss
βββ πinsurance-table
βββ insurance-table.component.jsx
βββ insurance-table.styles.jsx
βββ insurance-table.styles.scss
βββ πschedule
βββ πschedule-calendar
βββ schedule-calendar.component.jsx
βββ schedule-calendar.styles.jsx
βββ schedule-calendar.styles.scss
βββ πschedule-day-info
βββ schedule-day-info.component.jsx
βββ schedule-day-info.styles.jsx
βββ schedule-day-info.styles.scss
βββ πinvestment-savings-tracker-item
βββ investment-savings-tracker-item.component.jsx
βββ investment-savings-tracker-item.styles.scss
βββ πinvestment-savings-tracker-items
βββ investment-savings-tracker-items.component.jsx
βββ investment-savings-tracker-items.styles.scss
βββ πinvestments
βββ πall-investments-summary
βββ all-investments-summary.component.jsx
βββ all-investments-summary.styles.jsx
βββ all-investments-summary.styles.scss
βββ πcreate-investment-form
βββ create-investment-form.component.jsx
βββ create-investment-form.styles.jsx
βββ create-investment-form.styles.scss
βββ πinvestment-form
βββ investment-form.component.jsx
βββ investment-form.styles.scss
βββ πinvestment-info
βββ investment-info.component.jsx
βββ investment-info.styles.jsx
βββ investment-info.styles.scss
βββ πinvestments
βββ investments.component.jsx
βββ investments.styles.jsx
βββ πsummary
βββ summary.component.jsx
βββ summary.styles.jsx
βββ summary.styles.scss
βββ πsummary-graph
βββ summary-graph.component.jsx
βββ summary-graph.styles.jsx
βββ summary-graph.styles.scss
βββ πsummary-table-investments
βββ summary-table-investments.component.jsx
βββ summary-table-investments.styles.jsx
βββ summary-table-investments.styles.scss
βββ πupdate-investment-form
βββ update-investment-form.component.jsx
βββ update-investment-form.styles.jsx
βββ update-investment-form.styles.scss
βββ πsavings
βββ πaccount-info
βββ account-info.component.jsx
βββ account-info.styles.jsx
βββ account-info.styles.scss
βββ πall-savings-summary
βββ all-savings-summary.component.jsx
βββ all-savings-summary.styles.jsx
βββ all-savings-summary.styles.scss
βββ πcreate-account-form
βββ create-account-form.component.jsx
βββ create-account-form.styles.jsx
βββ create-account-form.styles.scss
βββ πsavings
βββ savings.component.jsx
βββ savings.styles.jsx
βββ πsavings-account-form
βββ savings-account-form.component.jsx
βββ savings-account-form.styles.scss
βββ πsummary
βββ summary.component.jsx
βββ summary.styles.jsx
βββ summary.styles.scss
βββ πsummary-graph
βββ summary-graph.component.jsx
βββ summary-graph.styles.jsx
βββ summary-graph.styles.scss
βββ πsummary-table-savings-account
βββ summary-table-savings-account.component.jsx
βββ summary-table-savings-account.styles.jsx
βββ summary-table-savings-account.styles.scss
βββ πupdate-account-form
βββ update-account-form.component.jsx
βββ update-account-form.styles.jsx
βββ update-account-form.styles.scss
βββ πsummary
βββ πbanking
βββ πsummary-graph
βββ finance-summary.component.jsx
βββ finance-summary.styles.jsx
βββ summary-graph.component.jsx
βββ summary-graph.styles.jsx
βββ πsummary-info
βββ summary-info.component.jsx
βββ summary-info.styles.jsx
βββ banking-summary.component.jsx
βββ banking-summary.styles.jsx
βββ banking-summary.styles.scss
βββ πbanking copy
βββ banking-summary.component.jsx
βββ banking-summary.styles.scss
βββ πexpenses
βββ πexpenses-summary-graph
βββ expenses-summary-graph.component.jsx
βββ expenses-summary-graph.styles.jsx
βββ expenses-summary-graph.styles.scss
βββ πexpenses-summary-info
βββ expenses-summary-info.component.jsx
βββ expenses-summary-info.styles.scss
βββ πschedule
βββ πschedule-calendar
βββ schedule-calendar.component.jsx
βββ schedule-calendar.styles.jsx
βββ schedule-calendar.styles.scss
βββ πschedule-day-info
βββ schedule-day-info.component.jsx
βββ schedule-day-info.styles.jsx
βββ schedule-day-info.styles.scss
βββ expenses.component.jsx
βββ expenses.styles.jsx
βββ expenses.styles.scss
βββ πinsurance
βββ πinsurance-summary-graph
βββ insurance-summary-graph.component.jsx
βββ insurance-summary-graph.styles.jsx
βββ insurance-summary-graph.styles.scss
βββ πinsurance-summary-info
βββ insurance-summary-info.component.jsx
βββ insurance-summary-info.styles.scss
βββ πschedule
βββ πschedule-calendar
βββ schedule-calendar.component.jsx
βββ schedule-calendar.styles.jsx
βββ schedule-calendar.styles.scss
βββ πschedule-day-info
βββ schedule-day-info.component.jsx
βββ schedule-day-info.styles.jsx
βββ schedule-day-info.styles.scss
βββ insurance-summary.component.jsx
βββ insurance-summary.styles.jsx
βββ insurance-summary.styles.scss
βββ πinvestments
βββ πsummary-graph
βββ finance-summary.component.jsx
βββ finance-summary.styles.jsx
βββ summary-graph.component.jsx
βββ summary-graph.styles.jsx
βββ πsummary-info
βββ summary-info.component.jsx
βββ summary-info.styles.jsx
βββ investments-summary.component.jsx
βββ investments-summary.styles.jsx
βββ investments-summary.styles.scss
βββ πsavings
βββ πsummary-graph
βββ finance-summary.component.jsx
βββ finance-summary.styles.jsx
βββ summary-graph.component.jsx
βββ summary-graph.styles.jsx
βββ πsummary-info
βββ summary-info.component.jsx
βββ summary-info.styles.jsx
βββ savings-summary.component.jsx
βββ savings-summary.styles.jsx
βββ savings-summary.styles.scss
βββ πsigned-out
βββ πbanking
βββ πaction-list
βββ action-list.component.jsx
βββ action-list.styles.jsx
βββ action-list.styles.scss
βββ πall-banking-summary
βββ all-banking-summary.component.jsx
βββ all-banking-summary.styles.jsx
βββ all-banking-summary.styles.scss
βββ πbank-account-form
βββ bank-account-form.component.jsx
βββ bank-account-form.styles.jsx
βββ bank-account-form.styles.scss
βββ πbank-accounts
βββ bank-accounts.component.jsx
βββ bank-accounts.styles.jsx
βββ bank-accounts.styles.scss
βββ πclose-account
βββ close-account.component.jsx
βββ close-account.styles.jsx
βββ close-account.styless.scss
βββ πcreate-account
βββ create-account.component.jsx
βββ create-account.styles.jsx
βββ create-account.styles.scss
βββ πdeposit
βββ deposit.component.jsx
βββ deposit.styles.jsx
βββ deposit.styles.scss
βββ πsummary
βββ summary.component.jsx
βββ summary.styles.jsx
βββ summary.styles.scss
βββ πsummary-graph
βββ summary-graph.component.jsx
βββ summary-graph.styles.jsx
βββ summary-graph.styles.scss
βββ πtransaction
βββ transaction.component.jsx
βββ transaction.styles.jsx
βββ transaction.styles.scss
βββ πtransactions
βββ transactions.component.jsx
βββ transactions.styles.jsx
βββ transactions.styles.scss
βββ πtransfer-money
βββ transfer-money.component.jsx
βββ transfer-money.styles.jsx
βββ transfer-money.styles.scss
βββ πwithdraw
βββ withdraw.component.jsx
βββ withdraw.styles.jsx
βββ withdraw.styles.scss
βββ πexpenses
βββ πadd-expense
βββ add-expense.component.jsx
βββ add-expense.styles.scss
βββ πdelete-expense
βββ delete-expense.component.jsx
βββ delete-expense.styles.scss
βββ πexpenses-filter
βββ expense-filter.component.jsx
βββ expense-filter.styles.jsx
βββ expense-filter.styles.scss
βββ πexpenses-filter-info
βββ expenses-filter-info.component.jsx
βββ expenses-filter-info.styles.jsx
βββ πexpenses-form
βββ expenses-form.component.jsx
βββ expenses-form.styles.jsx
βββ expenses-form.styles.scss
βββ πexpenses-graph
βββ expenses-graph.component.jsx
βββ expenses-graph.styles.jsx
βββ expenses-graph.styles.scss
βββ πexpenses-summary
βββ expenses-summary.component.jsx
βββ expenses-summary.styles.jsx
βββ expenses-summary.styles.scss
βββ πexpenses-table
βββ expenses-table.component.jsx
βββ expenses-table.styles.jsx
βββ expenses-table.styles.scss
βββ πschedule
βββ πschedule-calendar
βββ schedule-calendar.component.jsx
βββ schedule-calendar.styles.jsx
βββ schedule-calendar.styles.scss
βββ πschedule-day-info
βββ schedule-day-info.component.jsx
βββ schedule-day-info.styles.jsx
βββ schedule-day-info.styles.scss
βββ πfinance-tracker-item
βββ finance-tracker-item.component.jsx
βββ finance-tracker-item.styles.scss
βββ πfinance-tracker-item-info
βββ finance-tracker-item-info.component.jsx
βββ finance-tracker-item-info.styles.scss
βββ πfinance-tracker-item-summary
βββ finance-tracker-item-summary.component.jsx
βββ finance-tracker-item-summary.styles.scss
βββ πfinance-tracker-items
βββ finance-tracker-items.component.jsx
βββ finance-tracker-items.styles.scss
βββ πform-view
βββ form-view.component.jsx
βββ form-view.styles.scss
βββ πinsurance
βββ πadd-insurance-form
βββ add-insurance-form.component.jsx
βββ add-insurance-form.styles.jsx
βββ add-insurance-form.styles.scss
βββ πfilter-insurance-form
βββ filter-insurance-form.component.jsx
βββ filter-insurance-form.styles.jsx
βββ filter-insurance-form.styles.scss
βββ πinsurance-filter-info
βββ insurance-filter-info.component.jsx
βββ insurance-filter-info.styles.jsx
βββ πinsurance-pie-chart
βββ insurance-pie-chart.component.jsx
βββ insurance-pie-chart.styles.jsx
βββ insurance-pie-chart.styles.scss
βββ πinsurance-summary
βββ insurance-summary.component.jsx
βββ insurance-summary.styles.jsx
βββ insurance-summary.styles.scss
βββ πinsurance-table
βββ insurance-table.component.jsx
βββ insurance-table.styles.jsx
βββ insurance-table.styles.scss
βββ πschedule
βββ πschedule-calendar
βββ schedule-calendar.component.jsx
βββ schedule-calendar.styles.jsx
βββ schedule-calendar.styles.scss
βββ πschedule-day-info
βββ schedule-day-info.component.jsx
βββ schedule-day-info.styles.jsx
βββ schedule-day-info.styles.scss
βββ πinvestment-savings-tracker-item
βββ investment-savings-tracker-item.component.jsx
βββ investment-savings-tracker-item.styles.scss
βββ πinvestment-savings-tracker-items
βββ investment-savings-tracker-items.component.jsx
βββ investment-savings-tracker-items.styles.scss
βββ πinvestments
βββ πall-investments-summary
βββ all-investments-summary.component.jsx
βββ all-investments-summary.styles.jsx
βββ all-investments-summary.styles.scss
βββ πcreate-investment-form
βββ create-investment-form.component.jsx
βββ create-investment-form.styles.jsx
βββ create-investment-form.styles.scss
βββ πinvestment-form
βββ investment-form.component.jsx
βββ investment-form.styles.scss
βββ πinvestment-info
βββ investment-info.component.jsx
βββ investment-info.styles.jsx
βββ investment-info.styles.scss
βββ πinvestments
βββ investments.component.jsx
βββ investments.styles.jsx
βββ πsummary
βββ summary.component.jsx
βββ summary.styles.jsx
βββ summary.styles.scss
βββ πsummary-graph
βββ summary-graph.component.jsx
βββ summary-graph.styles.jsx
βββ summary-graph.styles.scss
βββ πsummary-table-investments
βββ summary-table-investments.component.jsx
βββ summary-table-investments.styles.jsx
βββ summary-table-investments.styles.scss
βββ πupdate-investment-form
βββ update-investment-form.component.jsx
βββ update-investment-form.styles.jsx
βββ update-investment-form.styles.scss
βββ πsavings
βββ πaccount-info
βββ account-info.component.jsx
βββ account-info.styles.jsx
βββ account-info.styles.scss
βββ πall-savings-summary
βββ all-savings-summary.component.jsx
βββ all-savings-summary.styles.jsx
βββ all-savings-summary.styles.scss
βββ πcreate-account-form
βββ create-account-form.component.jsx
βββ create-account-form.styles.jsx
βββ create-account-form.styles.scss
βββ πsavings
βββ savings.component.jsx
βββ savings.styles.jsx
βββ πsavings-account-form
βββ savings-account-form.component.jsx
βββ savings-account-form.styles.scss
βββ πsummary
βββ summary.component.jsx
βββ summary.styles.jsx
βββ summary.styles.scss
βββ πsummary-graph
βββ summary-graph.component.jsx
βββ summary-graph.styles.jsx
βββ summary-graph.styles.scss
βββ πsummary-table-savings-account
βββ summary-table-savings-account.component.jsx
βββ summary-table-savings-account.styles.jsx
βββ summary-table-savings-account.styles.scss
βββ πupdate-account-form
βββ update-account-form.component.jsx
βββ update-account-form.styles.jsx
βββ update-account-form.styles.scss
βββ πsign-in-form
βββ sign-in-form.component.jsx
βββ sign-in-form.styles.jsx
βββ sign-in-form.styles.scss
βββ πsign-up-form
βββ sign-up-form.component.jsx
βββ sign-up-form.styles.jsx
βββ sign-up-form.styles.scss
βββ πsummary
βββ πbanking
βββ πsummary-graph
βββ finance-summary.component.jsx
βββ finance-summary.styles.jsx
βββ summary-graph.component.jsx
βββ summary-graph.styles.jsx
βββ πsummary-info
βββ summary-info.component.jsx
βββ summary-info.styles.jsx
βββ banking-summary.component.jsx
βββ banking-summary.styles.jsx
βββ banking-summary.styles.scss
βββ πexpenses
βββ πexpenses-summary-graph
βββ expenses-summary-graph.component.jsx
βββ expenses-summary-graph.styles.jsx
βββ expenses-summary-graph.styles.scss
βββ πexpenses-summary-info
βββ expenses-summary-info.component.jsx
βββ expenses-summary-info.styles.scss
βββ πschedule
βββ πschedule-calendar
βββ schedule-calendar.component.jsx
βββ schedule-calendar.styles.jsx
βββ schedule-calendar.styles.scss
βββ πschedule-day-info
βββ schedule-day-info.component.jsx
βββ schedule-day-info.styles.jsx
βββ schedule-day-info.styles.scss
βββ expenses.component.jsx
βββ expenses.styles.jsx
βββ expenses.styles.scss
βββ πinsurance
βββ πinsurance-summary-graph
βββ insurance-summary-graph.component.jsx
βββ insurance-summary-graph.styles.jsx
βββ insurance-summary-graph.styles.scss
βββ πinsurance-summary-info
βββ insurance-summary-info.component.jsx
βββ insurance-summary-info.styles.scss
βββ πschedule
βββ πschedule-calendar
βββ schedule-calendar.component.jsx
βββ schedule-calendar.styles.jsx
βββ schedule-calendar.styles.scss
βββ πschedule-day-info
βββ schedule-day-info.component.jsx
βββ schedule-day-info.styles.jsx
βββ schedule-day-info.styles.scss
βββ insurance-summary.component.jsx
βββ insurance-summary.styles.jsx
βββ insurance-summary.styles.scss
βββ πinvestments
βββ πsummary-graph
βββ finance-summary.component.jsx
βββ finance-summary.styles.jsx
βββ summary-graph.component.jsx
βββ summary-graph.styles.jsx
βββ πsummary-info
βββ summary-info.component.jsx
βββ summary-info.styles.jsx
βββ investments-summary.component.jsx
βββ investments-summary.styles.jsx
βββ investments-summary.styles.scss
βββ πsavings
βββ πsummary-graph
βββ finance-summary.component.jsx
βββ finance-summary.styles.jsx
βββ summary-graph.component.jsx
βββ summary-graph.styles.jsx
βββ πsummary-info
βββ summary-info.component.jsx
βββ summary-info.styles.jsx
βββ savings-summary.component.jsx
βββ savings-summary.styles.jsx
βββ savings-summary.styles.scss
βββ πcontexts
βββ πshared
βββ πchatbot
βββ chatbot.context.tsx
βββ chatbot.types.ts
βββ πmarket-data
βββ market-data.context.tsx
βββ market-data.types.ts
βββ πsavings-goal-calculator
βββ savings-goal-calculator.context.tsx
βββ savings-goal-calculator.types.ts
βββ πuseful-tools
βββ useful-tools.context.tsx
βββ useful-tools.types.ts
βββ πuser
βββ user.context.tsx
βββ user.types.ts
βββ πsigned-in
βββ πbanking
βββ banking.context.tsx
βββ banking.types.ts
βββ πdashboard
βββ dashboard.context.tsx
βββ dashboard.types.ts
βββ πexpenses
βββ expenses.context.tsx
βββ expenses.types.ts
βββ πexports
βββ exports.context.tsx
βββ exports.types.ts
βββ πinsurance
βββ insurance.context.tsx
βββ insurance.types.ts
βββ πinvestments
βββ investments.context.tsx
βββ investments.types.ts
βββ πsavings
βββ savings.context.tsx
βββ savings.types.ts
βββ πsigned-out
βββ πbanking
βββ banking.context.tsx
βββ banking.types.ts
βββ πdashboard
βββ dashboard.context.tsx
βββ dashboard.types.ts
βββ πexpenses
βββ expenses.context.tsx
βββ expenses.types.ts
βββ πinsurance
βββ insurance.context.tsx
βββ insurance.types.ts
βββ πinvestments
βββ investments.context.tsx
βββ investments.types.ts
βββ πsavings
βββ savings.context.tsx
βββ savings.types.ts
βββ πpages
βββ πshared
βββ πchatbot
βββ chatbot.component.tsx
βββ chatbot.styles.scss
βββ chatbot.styles.tsx
βββ πhome
βββ home.component.tsx
βββ home.styles.scss
βββ home.styles.tsx
βββ πmarket-view
βββ market-view.component.tsx
βββ market-view.styles.scss
βββ market-view.styles.tsx
βββ πuseful-tools
βββ useful-tools.component.tsx
βββ useful-tools.styles.scss
βββ useful-tools.styles.tsx
βββ πsigned-in
βββ πbanking
βββ banking.component.tsx
βββ banking.styles.scss
βββ banking.styles.tsx
βββ πdashboard
βββ summary.component.tsx
βββ summary.styles.scss
βββ summary.styles.tsx
βββ πexpenses
βββ expenses.component.tsx
βββ expenses.styles.scss
βββ expenses.styles.tsx
βββ πexports
βββ πinsurance
βββ insurance.component.tsx
βββ insurance.styles.scss
βββ insurance.styles.tsx
βββ πinvestments
βββ investments.component.tsx
βββ investments.styles.scss
βββ investments.styles.tsx
βββ πsavings
βββ savings.component.tsx
βββ savings.styles.scss
βββ savings.styles.tsx
βββ πsigned-out
βββ πbanking
βββ banking.component.tsx
βββ banking.styles.scss
βββ banking.styles.tsx
βββ πdashboard
βββ summary.component.tsx
βββ summary.styles.scss
βββ summary.styles.tsx
βββ πexpenses
βββ expenses.component.tsx
βββ expenses.styles.scss
βββ expenses.styles.tsx
βββ πinsurance
βββ insurance.component.tsx
βββ insurance.styles.scss
βββ insurance.styles.tsx
βββ πinvestments
βββ investments.component.tsx
βββ investments.styles.scss
βββ investments.styles.tsx
βββ πsavings
βββ savings.component.tsx
βββ savings.styles.scss
βββ savings.styles.tsx
βββ πroutes
βββ πshared
βββ πhome
βββ home.component.tsx
βββ home.styles.scss
βββ πnavigation
βββ navigation.component.tsx
βββ navigation.styles.scss
βββ navigation.styles.tsx
βββ πuseful-tools
βββ useful-tools.component.tsx
βββ useful-tools.styles.scss
βββ πsigned-in
βββ πbanking
βββ banking.component.tsx
βββ banking.styles.scss
βββ πdashboard
βββ dashboard.component.tsx
βββ dashboard.styles.scss
βββ πexpenses
βββ expenses.component.tsx
βββ expenses.styles.scss
βββ πexports
βββ exports.component.tsx
βββ exports.styles.scss
βββ πinsurance
βββ insurance.component.tsx
βββ insurance.styles.scss
βββ πinvestments
βββ investments.components.tsx
βββ investments.styles.scss
βββ πsavings
βββ savings.components.tsx
βββ savings.styles.scss
βββ πsigned-out
βββ πauthentication
βββ authentication.component.tsx
βββ authentication.styles.scss
βββ πbanking
βββ banking.component.tsx
βββ banking.styles.scss
βββ πdashboard
βββ dashboard.component.tsx
βββ dashboard.styles.scss
βββ πexpenses
βββ expenses.component.tsx
βββ expenses.styles.scss
βββ πinsurance
βββ insurance.component.tsx
βββ insurance.styles.scss
βββ πinvestments
βββ investments.components.tsx
βββ investments.styles.scss
βββ πsavings
βββ savings.components.tsx
βββ savings.styles.scss
βββ πstore
βββ πmiddleware
βββ logger.ts
βββ πshared
βββ πchatbot
βββ πmarket-data
βββ πsavings-goal-calculator
βββ savings-goal-calculator.action.ts
βββ savings-goal-calculator.reducer.toolkit.ts
βββ savings-goal-calculator.reducer.ts
βββ savings-goal-calculator.selector.ts
βββ savings-goal-calculator.types.ts
βββ πuseful-tools
βββ πuser
βββ user.action.ts
βββ user.reducer.toolkit.ts
βββ user.reducer.ts
βββ user.saga.ts
βββ user.selector.ts
βββ user.types.ts
βββ πsigned-in
βββ πbanking
βββ banking.action.ts
βββ banking.reducer.ts
βββ banking.saga.ts
βββ banking.selector.ts
βββ banking.types.ts
βββ πdashboard
βββ πexpenses
βββ πexports
βββ πinsurance
βββ πinvestments
βββ savings
βββ πsigned-out
βββ πbanking
βββ banking.action.ts
βββ banking.reducer.toolkit.ts
βββ banking.reducer.ts
βββ banking.selector.ts
βββ banking.types.ts
βββ πdashboard
βββ dashboard.action.ts
βββ dashboard.reducer.toolkit.ts
βββ dashboard.reducer.ts
βββ dashboard.selector.ts
βββ dashboard.types.ts
βββ πexpenses
βββ expenses.action.ts
βββ expenses.reducer.toolkit.ts
βββ expenses.reducer.ts
βββ expenses.selector.ts
βββ expenses.types.ts
βββ πinsurance
βββ insurance.action.ts
βββ insurance.reducer.ts
βββ insurance.selector.ts
βββ insurance.types.ts
βββ πinvestments
βββ investments.action.ts
βββ investments.reducer.toolkit.ts
βββ investments.reducer.ts
βββ investments.selector.ts
βββ investments.types.ts
βββ πsavings
βββ savings.action.ts
βββ savings.reducer.toolkit.ts
βββ savings.reducer.ts
βββ savings.selector.ts
βββ savings.types.ts
βββ root-reducer.toolkit.ts
βββ root-reducer.ts
βββ root-saga.ts
βββ store.toolkit.ts
βββ store.ts
βββ πutils
βββ πalerts
βββ insurance.alerts.ts
βββ πapi-requests
βββ banking.requests.ts
βββ chatbot.requests.ts
βββ expenses.requests.ts
βββ exports.requests.ts
βββ insurance.requests.ts
βββ investments.requests.ts
βββ market-data.requests.ts
βββ savings.requests.ts
βββ summary.requests.ts
βββ useful-tools.requests.ts
βββ πcalculations
βββ banking.calculations.ts
βββ expenses.calculations.ts
βββ investments-test.calculations.ts
βββ investments.calculations.ts
βββ savings.calculations.ts
βββ useful-tools.calculations.ts
βββ πconstants
βββ banking.constants.ts
βββ chatbot.constants.ts
βββ expenses.constants.ts
βββ exports.constants.ts
βββ insurance.constants.ts
βββ investments.constants.ts
βββ market-data.constants.ts
βββ regex.constants.ts
βββ savings.constants.ts
βββ shared.constants.ts
βββ useful-tools.constants.ts
βββ πerrors
βββ banking.errors.ts
βββ chatbot.errors.ts
βββ expenses.error.ts
βββ exports.errors.ts
βββ insurance.errors.ts
βββ investments.errors.ts
βββ market-data.errors.ts
βββ savings.errors.ts
βββ summary.errors.ts
βββ useful-tools.errors.ts
βββ user.errors.ts
βββ πfirebase
βββ firebase.utils.ts
βββ πgraphql
βββ banking.graphql.ts
βββ expenses.graphql.ts
βββ insurance.graphql.ts
βββ investments.graphql.ts
βββ savings.graphql.ts
βββ πhelpers
βββ helpers.utils.ts
βββ πreducer
βββ reducer.utils.ts
βββ πvalidations
βββ banking.validation.ts
βββ chatbot.validation.ts
βββ expenses.validation.ts
βββ insurance.validation.ts
βββ investments.validation.ts
βββ market-data.validation.ts
βββ savings.validation.ts
βββ useful-tools.validation.ts
βββ App.test.js
βββ App.tsx
βββ custom.d.ts
βββ index.scss
βββ index.tsx
βββ logo.svg
βββ reportWebVitals.js
βββ setupTests.js
βββ .dockerignore
βββ .env
βββ .gitignore
βββ Dockerfile
βββ package-lock.json
βββ package.json
βββ README.md
βββ tsconfig.json
git clone https://github.com/tahmid-saj/fin-tracker.git
npm install
4. __APIs__: Client requests go to two APIs:
* __Finance Planner API__
* __Finance Predict API__
5. __Services__: API keys are used from the following services in the __Finance Planner API__:
* OpenAI: Services chatbot requests
* polygon.io: Provides market data for requests from the __Finance Planner API__
* External APIs: There are several other external APIs providing financial calculations, tools, country specific financial data, etc.
6. __Databases__: A MongoDB cluster and collections are created, and a connection is established with the __Finance Planner and Finance Predict APIs__. A Redis cluster is also created for storing cached data. Additionally Cloud Firestore and AWS RDS are both initialized for storing authentication and ML model training data respectively.
7. __Data engineering__: The set up for the development environment for the data engineering tool can be found [here](https://github.com/tahmid-saj/etl-elt-api).
8. __Machine learning__: The set up for the development environment for the ML job scheduler can be found [here](https://github.com/tahmid-saj/ml-job-scheduler).
9. __AWS__: Setting up the AWS services is an optional step as this is on a development environment. However, the same services could be used to create the tools mentioned in the high level view.
10. __Running the client__: The client can be run using:
npm start