- Allows users to create an investment portfolio which reflects their actual investment account on another platform (ex. Coinbase, Questrade, etc.)
- Uses Recharts to display data of user portfolios or of individual stocks.
- Implments OAuth2.0 and JWT for authentication and security.
- Next.js
- React (Typescript)
- Express
- Node.js
- MySQL
- Redis
- Register using token authentication here.
- Directs you to landing page where the data for your investment portfolio.
- Search for a stock using a symbol or company name.
- Add a specific stock while specifying how many shares you want, the date purchased, and the time purchased.
- Given an option whether you want to add it to the watchlist.
open terminal
- cd btc-wallet
- npm i
- npm run dev
open another terminal
- cd server
- npm i
- npm run dev
- Allow sharing and display
- Full deployment on a server
To enhance efficiency of the webpage and reduce the latency during page loads, I implemented server-side caching using Redis. This was able to address the delays caused by frequent requests to the public REST API for live stock data. With the cache, I was able to minimize the rate of outgoing requests.
- Note: Caching was done server sided for the individual stocks, so if different users had the same investments, their data would be requested faster. However the same was done for the personal investment portfolio data, which should be stored locally (future change).