The purpose of this project was to define a use case and determine the appropriate technologies to create a proof of concept web application interacting with a blockchain which stores informations about digital documents delivery.

Technologies :

Hyperledger Fabric blockchain

Hyperledger Composer to make the smart contract. And interact with the blockchain.

.Net Core for the web application back-end

Angular 5 for the front-end

This was a school project which was commissioned by the company Softcom Technologies SA based at Givisiez. I had the chance to work with my friend Maxime Genilloud on this project.

My work was focused on the smart contract development using Composer and implementation of the web application back-end using .Net Core. Maxime worked on the front-end using Angular 7.

The following diagram shows the context and scope of the project. The storing of the document itself is not part of the proof of concept. We only use a hash to represent the document.

The E-Sign platform is an existing cloud service used to securely store documents online. Stored items can be accessed using a hash identifying each documents.

Global project diagram

A. The sender uploads a digital document on the E-Sign platform.

B. An hash identifying the document is returned to the sender, it can be used to access the document content using E-Sign platform.

C. The user logs-in the web application and sends the document hash to the receiver.

D. The transaction concerning this shipment is stored on the blockchain.

E. The receiver connects to the application and sees he has received a document.

F. The state of the shipment is updated in the blockchain.

Components

This shows the different components of this project and what technology they use to communicate.

UML Components diagram

Result

Demo video of the resulting application.