Skip to main content
Version: 0.3.6

Viglet Turing ES: Developer Guide

Viglet Turing ES (https://viglet.com/turing) is an open source solution (https://github.com/openviglet), which has Semantic Navigation and Chatbot as its main features. You can choose from several NLPs to enrich the data. All content is indexed in Solr as search engine.

More Documentation

Technical documentation on Turing ES is available at https://docs.viglet.com/turing.

Open Source Development

You can collaborate with Turing, participating in its development. Below are the steps to create your Turing environment.

Development Structure

Frameworks

Turing ES was developed using Spring Boot for its backend.

The UI is currently using AngularJS, but a new UI is being developed using Angular 12 with Primer CSS.

In addition to Java, you also need to have Git and NodeJS installed.

Databases

By default it uses the H2 database, but can be changed to other databases using Spring Boot properties. It comes bundled with OpenNLP in the same JVM.

Programming Language and Deploy

It uses Java 17 and its deployment is done with Gradle 7.5.1 and works on Unix and Windows.

Docker

To use Semantic Navigation and Chatbot you must have a Solr service available. If you prefer to work with all the services Turing depends on, you can use docker-compose to start these services, we use the Docker Desktop installed on computer.

IDE

You can use Spring Tools 4 for Eclipse or Eclipse or Visual Studio Code or IntelliJ as IDEs.

Download

Use the git command line to download the repository to your computer.

Turing Server and Connectors

git clone https://github.com/openviglet/turing.git

Run during Development

To run Turing ES, execute the following lines:

Turing Server

Development
With UI
cd turing
./gradlew turing-app:bootrun
Without update UI
cd turing
./gradlew turing-app:bootrun -Pno-ui
New Turing UI

Start the Turing Server using dev-ui profile:

cd turing
./gradlew turing-app:bootrun --args='--spring.profiles.active=dev-ui' -Pno-ui

And start one of the components of turing-ui:

cd turing/turing-ui

## Console
ng serve console

## Search
ng serve sn

## Chatbot
ng serve converse

## Welcome
ng serve welcome
important

You need to start the Turing Server and Solr first.

Build
cd turing
./gradlew turing-app:build

Java SDK

Development
cd turing-java-sdk
./gradlew build
java -cp build/libs/turing-java-sdk-all.jar com.viglet.turing.client.sn.sample.TurSNClientSample
important

You need to start the Turing Server and Solr first.

Build
cd turing-java-sdk
./gradlew build

Or use jitpack in your project at https://jitpack.io/#openviglet/turing-java-sdk

WEM Listener

cd turing
./gradlew turing-wem:shadowJar

For development, copy the turing-wem/build/libs/turing-wem-all.jar into WEM_DIR/libs and test the listener using turing-wem command line.

Database Connector

cd turing
./gradlew turing-jdbc:shadowJar

Filesystem Connector

cd turing
./gradlew turing-filesystem:shadowJar

Nutch

Nutch 1.18
cd turing/
./gradlew turing-nuch:nutch1_18:packageDistribution

URLs

Turing Server

New Turing UI

Docker Compose

Code Quality

You can check the quality of Turing Code at: