Giter Site home page Giter Site logo

sid3345 / retirement-fintech Goto Github PK

View Code? Open in Web Editor NEW
10.0 2.0 1.0 5.58 MB

A fintech application for retirement planning !

HTML 0.58% JavaScript 99.09% CSS 0.24% SCSS 0.09%
retirement fintech retirement-planning retirement-calculator finance financial-analysis

retirement-fintech's Introduction

Full Stack Personal Finance Web App

This is a personal finance application that allows users to link their bank account via the Plaid API. Current functionality includes basic authentication via JSON Web Token, and the addition, deletion, and refreshing of a bank account. The application will display the user's account balances and transactions. Note that this project is a work in progress - more features are planned to be implemented in the future.

PROBLEM STATEMENT

So, presently, do people plan their retirements considering all the factors ?

To plan your retirement corpus, large number of factors must be considered, for eg: your current salary, expenses, current savings, your assets, liabilities, investments, etc. Apart from this, global factors such as inflation rates, location based expenses (cheap vs expensive city), stock market conditions, etc, should also be considered to evaluate what should be your retirement corpus.

But currently, there is no solution to provide complete picture of your retirement corpus / savings, that would be sufficient for you to live a comfortable retired life.

PROPOSED SOLUTION

Thus, my solution is to use technology (web, data analytics, etc) to create an application that takes into consideration user’s current financial status such as assets, liabilities, investments, etc, and global factors (inflation, location specific lifestyle, stock markets, etc) to model user’s future retirements needs and what, when, and how current savings can lead to future retirement corpus.

Data points are collected through API’s and modelled to create an output and displayed in chart for easy understanding.

PPT is uploaded in the repo.

Setup

  1. git clone https://github.com/jagodin/personal-finance-app
  2. cd personal-finance-app
  3. npm install
  4. npm run dev to run the development environment.

Obtain your Plaid API keys from here and set up a MongoDB database

Configure ./config/default.json

{
    "mongoURI": "YOUR_MONGO_URI",
    "jwtSecret": "YOUR_SECRET_TOKEN"
}

Technologies

  1. Node.js
  2. React
  3. Redux
  4. MongoDB
  5. Express.js
  6. Material UI

Packages

  1. Axios
  2. Express Validator
  3. JSON Web Token
  4. Redux Thunk
  5. Bcrypt.js
  6. Mongoose
  7. D3 JS

Screenshots

Login/Registration Page Login/Registration Page

Dashboard and Profile Menu Dashboard and Profile Menu

Linked Accounts and Balances Linked Accounts and Balances

Transactions Transactions

Plaid Link Plaid Link

Responsive Dashboard Responsive Dashboard

Future Enhancements

  1. Implement budgets and categorize transactions into appropriate budget.
  2. Add user settings (i.e. UI preferances).
  3. Give users the ability to report application issues via the Support page.
  4. Implement FAQ.
  5. Responsive UI enhancements.
  6. Implement cache to prevent user's from overloading the backend and Plaid API.
  7. Implement Google Firebase Authentication.

Disclaimer

Note that the application exposes the user's access_tokens and item_ids to the client. For production releases, these must be securely persisted to your database and never exposed to the client.

From the Plaid API documentation:

access_tokens and item_ids are the core identifiers that map your end-users to their financial institutions. You should persist these securely and associate them with users of your application. Make sure, however, that these identifiers are never exposed client-side. Keep in mind that one user can create multiple Items if they have accounts with multiple financial institutions.

retirement-fintech's People

Contributors

sid3345 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

abibars

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.