Inspiration
UHOLD is inspired by the widespread use of Google Drive, aiming to replicate its file storage, sharing, and viewing capabilities in a decentralized version.
What it does
UHOLD combines a file system with a chat feature. Users can create, view, star, delete, and share files like how it works with a file system, create folders and subfolders, with a 30-day recycle bin for recovery. It supports direct and link-based file sharing, and introduces a brand file system for receiving documents like receipts or vcs if necessary from affiliated brands.
How I built it
The development of UHOLD utilized various protocols for file management and chat functionalities. This included protocols for folder creation, file sharing, and brand integration, as well as messaging. The dwn server is hosted on render. Record CRUD actions are widely used.
Challenges I ran into
I faced technical challenges such as 'signing key not found' errors, difficulties with event listeners, and implementing tags for records.
Accomplishments that I am proud of
I am particularly proud of integrating a decentralized system with a user-friendly interface, offering file management, and secure chat features. The recycle bin functionality and brand file feature are notable achievements.
What I learned
This project enhanced my understanding of decentralized systems and the complexity of file and message management protocols with web2. It highlighted the significance of user experience in software development and also how easy it can be to build role based systems with web5.
Web5 is a fantastic evolution with great features to combine web2 and web3. This project would have required more lines of code if not executed with web5. Web5 proved to be a huge time saver in implementing role based features and file sharing.
What's next for Uhold
The future focus for UHOLD includes refining the user interface and adapting to new technological updates. Expanding features like folder sharing and group creation are also on the horizon to enhance user experience and functionality.
Thank you so much to the team-TBD for helping out. :)
Try my project - https://uhold-tbd.vercel.app/
For the brand implementation working, https://sandiaa.github.io/uhold-brand-tbd/brand.html -> click this link and click on signup via UHold.
Project Demo - https://youtu.be/QKd6hkRcdtI
Caution when testing
=> Since this project uses render.com to host DWN,
Render spins down a Free web service that goes 15 minutes without receiving inbound traffic. Render spins the service back up whenever it next receives a request to process.
Spinning up a service takes a few seconds, which causes a noticeable delay for incoming requests until the service is back up and running. For example, a browser page load will hang momentarily or you may expect a delay for a few seconds.
=> Try refreshing the page if any feature doesn't work as expected, might be an UI render/load issue, should get resolved when refreshed if any :)
=> View on chrome
=> Not optimised for mobile viewing, sorry :(
Built With
- indexdb
- javascript
- node.js
- react
Log in or sign up for Devpost to join the conversation.