Commit 21605a3e authored by Alexander Lercher's avatar Alexander Lercher

Added documentation

parent 34ef4d75
# SMART tool
We propose a framework underlying decentralized social media called SMART, capable of finding relevant interest communities without violating users’ privacy and anonymity. Its objective is to improve trust and eliminate malicious actors in participatory exchanges and collaborative decision making.
## Microservice architecture
![SMART architecture image](smart-architecture.png)
\ No newline at end of file
## Project structure
The five folders *data-hub*, *message-broker*, *rest-gateway*, *transaction-hub-in* and *transaction-hub-out* contain the microservices for the five architecture layers respectively.
The *modules* folder contains various Python modules used by multiple microservices to improve code-reuse. When building the Docker images this folder is copied into the app path.
The *tools* folder contains supportive scripts used during development and must not be used by any microservice.
The scripts *build.py* and *deploy.py* are used to create Docker images and deploy these images in Kubernetes respectively.
The *images* folder holds the images used in this document.
## Overall microservice architecture
![SMART architecture image](images/smart-architecture.png)
# Semantic Linking Microservice
The semantic linking microservice helps to explicitly state implicit connections between users by analyzing extensive and repeated interactions. The explicit information about links will then be the basis for all further reasoning, classification and intelligence.
This microservice receives a message from the trace retrieval microservice when new traces are available. It then loads all traces by calling the trace retrieval's REST interface and processes these.
## Technologies
- Python 3.x
- Python module Flask
- Python module Connexion with Swagger
(Check Dockerfile for used Python modules)
- Docker
- Kubernetes
\ No newline at end of file
# SMART RESTful API Gateway
The RESTful API Gateway is used as the central access point. It works as a abstraction layer to the individual microservices of SMART.
The RESTful API gateway is used as the central access point. It works as a abstraction layer to the individual microservices of SMART.
## Blockchain transactions
Blockchain transactions posted to this gateway are checked for schema validity and forwarded to the trace retrieval microservice via messaging.
## Technologies
- Python 3.x
......
# Trace Retrieval Microservice
The trace retrieval microservice is used as an interface to the blockchain component (TIC). It receives and preprocesses all available traces.
The RESTful API gateway sends traces as messages to the trace retrieval microservice. These traces are then stored in a MongoDB document database and the semantic linking microservice is notified. This microservice provides access to all stored traces via REST.
## Technologies
- Python 3.x
(Check Dockerfile for used Python modules)
- MongoDB
- Docker
- Kubernetes
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment