Maestro is a multi-purpose tool for data gathering, processing, classification and providing. It allows users to create search contexts, configurable structures that when executed are able to gather data from multiple sources from the internet (e.g.: Bing, Twitter), enhance and/or remove irrelevant data, classify through a classification mechanism (like a machine learning model) and finally send the results to an external service that exposes an HTTP endpoint.
This work was created and developed during @amserra Master's dissertation. To read more about Maestro, you can read the published paper here.
The following procedures show how to install Maestro in your local machine.
Before installing Maestro you first need to have:
- Python version 3.x
- RabbitMQ (for the Celery message broker)
- Git
- PostgreSQL (for the database)
- Node.JS (to build TailwindCSS styles)
git clone https://github.com/amserra/Maestro.git
cd Maestro/
pip install -r requirements/dev.txt
Enter PostgreSQL interactive terminal
psql
Then issue the command to create the database
CREATE DATABASE maestro_db;
Exit the interactive terminal with CTRL+D or equivalent
python manage.py makemigrations && python manage.py migrate
python manage.py tailwind install
To develop, you need 3 terminals:
python manage.py runserver, the Django servercelery -A maestro worker -l INFO, the Celery workerpython manage.py tailwind start, the TailwindCSS dev server