This interface for robo-advisors implements the data processes of a generic robo-advisor for data collection, data preparation, data storage and, to some extent, data security.
The implementation can be cloned using the git clone [email protected]:cu2koo/go-ra-data.git
command
The interface has a modular structure so that the requirements are interchangeable except Go. You will need:
- Go
- Database for storing user data
- Data provider for collecting market data
The following technologies and providers are used in this implementation:
In this example, the MariaDB is installed via Docker and then configured. A Docker installation is required for this. This is done in the following steps:
- Creation of the MariaDB container with the command:
docker run --detach --network bridge --name mariadb --env MARIADB_ROOT_PASSWORD=secret -p 3306:3306 mariadb:latest
- Open the MariaDB console and enter the password defined in the previous command via
docker exec -it mariadb bash
andmariadb -p
. - Running the SQL commands found at data/mariadb/setup.sql, for creating the database and tables.
The following files are required for the configuration:
- SSL certificate and key are placed under config path. Commands for self-signed certificate creation are available as a shell script.
- MariaDB's configuration is saved as config.json following the pattern of data/mariadb/config-template.json.
- FactSet`s configuration is saved as config.json following the pattern of data/factset/config-template.json. To do this, the API key must be created via the FactSet Developer Portal.
The application can be compiled and executed via Go. This following command can be used in the project directory for execution: go run ./cmd/main.go
.
The documentation is available as swagger.yaml. This file can be opened via the Swagger Editor, for example.