Inspiration

My central inspiration has come from a point of view of creating applications which are secure, and features end-end encryption. And in this 21st century this is what matters a lot. Hence I wanted to create a basic decentralised application where users can interact with one another without making them feel insecure, or watched upon using blockchain technology.

What it does

One can create a room using an account-id, key (or use the default settings as well) and can join or create a room. And one can interact with all the other persons peacefully without feeling insecure since it supports end-to-end encryption since its built using blockchain technology and on top of Hedera Hashgraph.

How we built it

We have used the Hedera Hashgraph Javascript SDK to build this entire application using the Hedera Consensus Service. There are various parts of the application that is

  • It consists of a UI which is built on Node.JS , html and it launches a web app for creating a room
  • I have used Node.JS, Express.JS to build the entire backend interface which is present right from creating a topic (a room for discussion) to interacting with other/multiple users.
  • Socket.io is used for real-time bidirectional communication between multiple users present in a room Hence I have leveraged the above technologies to the best extent to achieve the result possible

Challenges we ran into

Few of the challenges were

  1. the invoking of chatting of **multiple users** in the application which was a brain-drainer. There were a lot of bugs persisting when multiple users started interacting and sometimes the application was collapsing on itself.
    The application worked for single user initially and the structure of the application was changed since the application was collapsing for multiple users. This required immediate thinking, decision makng for changing the user interface present.
  2. The application's frontend was **not responding** to the Node.JS **event changes** which were happening from time to time. This tested my Javascript async, promise concepts to a very large extent

Accomplishments that we're proud of

  • My Main Challenge was the multiple user issue and after that was bug was resolved, that became my most biggest accomplishment.
  • Understanding how the Hedera Consensus Service worked before implementing it with my code for my decentralised application which I am building, it was a bit difficult to understand but it was very very useful for my project
  • Making a very simple yet effective UI/UX , which was a challenge since in future many people would be using this application for various purposes and seamless user experience is my first priority.

What we learned

I have learned how to make a web3 Decentralised application leveraging a very new and secure and prominent technology such as Hedera to make this application in the best extent possible.

What's next for Decentralized chat application

  • On top of this application we can invoke various fun features like web2 applications which are preent such as create games within each room or create various different servers present within every room, we can integrate various other web3 technologies such as metaverse and stuff to take this application to the next level
Share this project:

Updates