Messenger on Blockchain (SoPro, WTP)

Interner Betreuer: Matthias Pohl

Project goals:

The aim of this project is a design and an implementation of a messenger (e.g. Signal) combined with a blockchain (e.g. Hyperledger). The characteristics of blockchain (e.g. distributed architecture, consensus) shall be utilized for the operation of a messenger server. The final solution should be deployable via Docker.

Project description:

At first, the core properties of blockchain and smart contracts, as well as possibilities in case of handling text, audio, and video messages, have to be examined. The user and server activities have to be summarized in a use case diagram. After that, a component model and sequence models have to be created to illustrate the architecture and the use cases. Considering functional and non-functional requirements, security issues, flexibility, and scalability should be attached with increased importance. The implementation should draw open-source software (e.g. Signal, Hyperledger). The final solution should be deployable via Docker and has to be demonstrated. A service-oriented architecture would be suitable.A project-associated documentation should contain a short literature review on blockchain and messengers as well as a detailed project description. The project report has to be written in conformance with VLBA guidelines.

Required/Desired knowledge:
  • advanced programming skills in a popular server-based programming language (REST communication and XML-manipulation should be facilitated by the programming language or its ecosystem, which is the case for Java or Python), basic skills of HTML, CSS, and potentially Javascript for simple graphical user interface
  • basic skills in Docker and GitLab
  • basic skills in integrated UML modeling tool for UML diagram creation (needs to be free to use: e.g., open-source or freemium)
  • Planning & Analysis (e.g. use case analysis and documentation, technical research: Blockchain, Docker, XML etc.)
  • Design (detailed UML-based modeling)
  • Implementation, with consideration of maintenance phase (development)
  • Final project paper (the project’s scientific paper discusses the foundations of blockchain-based applications as well as the evaluation of the prototype)
Some reiteration between these tasks may be necessary following the agile paradigm.

Please contact Matthias Pohl or Sascha Bosse for further details.

This project could also be done in german language.