<commit_before>- The code is located in `implementation/`
- The compiled docker images are located in `docker_images/`


#Test
To test the entire codebase, first start a instance of etcd & RabbitMQ on localhost. Default installations work. For etcd you should be able to connect without any credentials. For RabbitMQ the connection will be made with `guest\guest`.

Now run the following in `implementation/`:
```
mvn test
```

#SonarQube
To run SonarQube on the codebase, first install and start an instance of SonarQube on localhost.

Now run the following in `implementation/`:
```
mvn test
mvn sonar:sonar
```<commit_msg>Completed README.md<commit_after>- The code is located in `implementation/`
- The compiled docker images are located in `docker_images/`
- Static files which should not be changed are located in `static/`
- The visualization is locaed in `visualiztion/`

# Test
To test the entire codebase, first start a instance of etcd & RabbitMQ on localhost. Default installations work. For etcd you should be able to connect without any credentials. For RabbitMQ the connection will be made with `guest\guest`.

Now run the following in `implementation/`:
```
mvn test
```

# SonarQube
To run SonarQube on the codebase, first install and start an instance of SonarQube on localhost.

Now run the following in `implementation/`:
```
mvn test
mvn sonar:sonar
```

# To run on a host
As a requirement, make sure you have installed and started docker.
Config the EXTERNAL ip adres in `docker.env` for etcd and RabbitMQ respectively
Now run from git root:
```
docker_compiler_images.sh
```

The docker images will be added to your local docker. Start the docker containers for each host respectively.

# Multiple drones
If you would like to start multiple drones on the same host, run the following after compiling the docker images:
```
cd docker_images/
docker-compose up --scale drone=<DRONE AMOUNT> drone
``` 

# Visualization
The visualization should be run without Docker. First, config the EXTERNAL ip address in `visualization/config_visualization` for both etcd and RabbitMQ respectively. You can start the visualization by running the following from the git root:
```
cd visualization/
./compile_visualization.sh
./start_visualization.sh
```
{'fraction_non_alphanumeric': 0.06725663716814159, 'fraction_numerical': 0.0, 'mean_word_length': 4.638403990024938, 'pattern_counts': {'":': 0, '<': 4, '<?xml version=': 0, '>': 4, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3534151', 'n_tokens_mistral': 673, 'n_tokens_neox': 593, 'n_words': 315}