A decentralized portfolio tracking app utilizing a decentralized database
Decent Portfolio is a digital asset investment portfolio tracker that allows the user to input digital asset buy and sell transactions where Decent stores the transaction's userId, asset name, price, buy or sell side, rating, updated position quantity and updated position average price in a decentralized OrbitDB database. OrbitD stores the data on IPFS where Decent essentially "chains" the transactions using the hash of the previous transactions to update the user's new asset quantity and average price.
I used the OrbitDB GitHub repo to get an instance of OrbitDB running in a Docker container on one of my home computers. I developed a RESTful API that allows for the user to add transaction entries and query transactions by userID and asset which uses an Ngrok domain and endpoint to allow for HTTPS calls to the API. For the front-end, I created a user friendly Next.js UI that allows for input of new transactions and queries of latest position quantity and average price. The front-end was deployed to Vercel and makes API calls to the Dockerized back-end. There is also a BTC current price widget, courtesy of Coin360, for users to compare their current position to the current price of Bitcoin.