Hi all I would like to present some decentralized applications I am trying to do to have some feedback and more ideas.
The main idea of those applications is to be fully decentralized. I would like to avoid the need of hosting it in a server to reduce costs and to allow anyone to host it using its own computer. Other caracteristic that I want is that any data that user stores in the application can be shared between many applications if he wants, giving the user real ownership of the data and avoid storing it in some centralized database.
First I tried with smarts contracts and IPFS, it works but we need to spend ether and I would like to avoid it.
One day I found 3box and I did a test in their application. Very awesome.
Basically it allows users to create profile and store files in IPFS linked to their decentralized identity (created when user first accesses the dapp)
I took a look in the documentation and it was very simple to use it so I decided to try to do a dapp but I did not knew what kind of dapp I could do.
I decided to do a simple dapp where users could mount their portfolios of things their do to earn cryptocurrency and allow them to contact each other. Thankfully 3box did plugins to insert chat,comment box, profile viewer and profile editor that helped me a lot in the creation of the prototype of the dapp.
About the dapp
DecentralizedPortfolio is a dapp where users can add, edit or remove items in their portfolios and contact others. It was done to test 3box and explore possibilities.
How to use it?
To use it you will need to have metamask in your browser or enable crypto wallet in your brave browser. Browsers that do not have injected web3 can view the application but not to create an account there.
When you enter the application you will be requested to open your 3box profile (it will create one for you if you do not have one).
Once opened you will see that new menu items have been showed.
If you click in Profile or Portfolio you will be requested to open your decentralized portfolio space.
Once opened you will be able to edit your 3box and space profile, view all commentaries you have, who sent you messages and who you added.
In Portfolio section it is possible to add/edit or remove items. Items are identified by their names so to edit some item the owner needs to add item with same name.
In the Users section you will be able to see others users portfolios, add them as contact and send messages to them (not confidential yet but soon will be implemented).
To start a conversation with someone just click at the portfolio button bellow his profile and then select "private message" tab item.
The user that you sent message will see that you sent him a message when he access "Messages" tab in "Portfolio" section
If he click in "Messages" button or in your profile in Users sections he will see the same comment box you open with him
The Jobs Offer section is a comment box open to the public.
And finally a public chat is available but messages are erased when everybody leaves the dapp (https://docs.3box.io/build/web-apps/messaging/ghost-threads)
As you can see that application is just in the initial stage but it can be easily changed to others cases.
I still need to fix some bugs (related to private message), use confidential threads for private messages and do a lot of things related to filtering users, category of itens added in the portfolios ...
When the interface and bugs are fixed I will start thinking in a case of use for smart contracts
The source code can be found at https://github.com/henrique1837/DecentralizedPortfolio
And the latest prototype version at https://cloudflare-ipfs.com/ipfs/QmaLasj6PCSc9Mbxkj9BpSMdFMw6BZYynHbCq7T34WB9fb/
Thank you for reading, any feedback are very welcome!