posted on: 06.04.2020
Dragoljuba Damjanović

Author:

Dragoljuba Damjanović

Junior Software Developer

Dumbonet: Developing Blockchain-Based Web Application Step-by-Step

Dumbonet is a web-application, which helps logistics companies to easily connect with their suppliers or partners, developed by three junior enthusiasts. Since our last article on Medium, about the blockchain network, a lot of things have changed — versions have been upgraded, use cases are evolving, new needs have emerged in industries…. But, the idea behind the story is the same.

One of the main values in Comtrade is to share: “Knowledge increases by sharing, not by hoarding it”. This is something that sets us apart from others, and that’s why we want to share with the IT community what we’ve learned through the process of developing Dumbonet application.

Along with my partners in crime, Marina Kostic and Nemanja Beric, I’ll lead you step-by-step through the process.

With mentorship, support, and guidance, from Saša Prole and Milan Bundalo, we were able to develop a blockchain-based web application from scratch, and this is our way to show them how grateful we are.

 

Like in any recipe, let’s start with the ingredients. 🍜🍕

 

What will you be reminded of and what will you learn?

  1. Don’t change a winning horse. — We’ll stick with the Hyperledger Fabric platform for building a blockchain network, but I’ll also tell you a little bit about the other options.
  2. Apache CouchDB is an open-source NoSQL document database, that collects and stores data in JSON-based document formats, and we can access our documents with a web browser via HTTP.
  3. Our choice for the application security is Keycloak. It makes it easy to secure applications and services with little to no code.
  4. For the backend side of the application, we’ll use a JavaScript runtime environment, that executes JavaScript code outside of a web browser. It’s an open-source, cross-platform, called Node.js.
  5. Continuing with JavaScript routine, for frontend side, we went with Angular framework.
  6. Besides those core ingredients, we’ll add a little bit of UI/UX, AB testing, Docker, Nginx, and more.

 

And now, what are we going to bake? Oops, sorry – make?

Through this short journey, we’ll make a blockchain-based web application. The client will be able to do CRUD (create-read-update-delete) operations on two assets. In our case, assets are Inquiry and Quotation, but assets can be anything you want — cash, cars, colors, cats, etc.

Blockchain network will have two users from two different organizations, which have a specific smart contract between them. The user from the first organization is going to create an Inquiry. It’s the request where he defines package delivery details and expects offers, and the user from the second organization will be able to create this offer as a Quotation.

 

This was the brief intro to our tutorial about Dumbonet project. If you’re interested in following our story, here are links for different topics:

  1. Dumbonet: Add authentication to the application using Keycloak
  2. Dumbonet: Word-Two about UX/UI
  3. Dumbonet: Angular + Keycloak
  4. Dumbonet: How to build a blockchain network with Hyperledger Fabric-Part I
  5. Dumbonet: How to build a blockchain network with Hyperledger Fabric-Part II
  6. Dumbonet: How to write a smart contract in JavaScript
  7. Dumbonet: Server side of the application
  8. Dumbonet: Grand Final

 

Thanks for reading and stay tuned! We hope you’ll enjoy it! 😊