VT2020-Voice First Development-Demo: Difference between revisions

From air
Jump to navigation Jump to search
Line 4: Line 4:
=Création de l'application=
=Création de l'application=
L'application est créée avec le framework [https://helloviolet.ai/ Violet].
L'application est créée avec le framework [https://helloviolet.ai/ Violet].

'''Installation de Violet'''


<pre>
<pre>
Line 11: Line 13:




'''Fichier principal'''
Utilisation d'un JDL pour générer une application permet d'enregistrer les lancements spatiaux et d'ajouter des images à l'événement.
Cette application se contente de dire bonjour quand on lui demande.
Créer un répertoire spacefan. Ajouter app.jdl et copier coller ce qu'il y a ci-dessous dans ce fichier.
<pre>
<pre>
// Load the Violet Module
application {
const violet = require('violet').script();
config {
baseName space
applicationType monolith
authenticationType oauth2
packageName org.jhipster.space
prodDatabaseType postgresql
testFrameworks [protractor]
}
entities *
}


// The Controller
entity SpaceEvent {
var app = {
name String required
helloInFrench: (response)=>{
date LocalDate required
response.say("Bonjour!");
description TextBlob required
},
photo ImageBlob required
helloInEnglish: (response)=>{
type SpaceEventType required
response.say("Hello!");
}
}
}


entity Mission {
name String required
description String
}


violet.addFlowScript(`<app>
enum SpaceEventType {
<<choice id="launch">
LAUNCH,
<expecting>à quoi sert tu</expecting>
LANDING
<say>Je peux dire bonjour en français ou en anglais</say>
}
</choice>

relationship OneToOne {
SpaceEvent{mission(name)} to Mission
}


<choice id="list">
paginate SpaceEvent with infinite-scroll
<expecting>dis bonjour</expecting>
paginate Mission with pagination
<say>Bien sur!</say>
<decision>
<ask>Dois-je dire bonjour en français ou en anglais?</ask>
<choice>
<expecting>en français</expecting>
<resolve value="app.helloInFrench(response)"/>
</choice>
<choice>
<expecting>en anglais</expecting>
<resolve value="app.helloInEnglish(response)"/>
</choice>
</decision>
</choice>
</app>`, {app});
</pre>
</pre>



Revision as of 15:45, 22 November 2020

Prérequis

  • Node.js

Création de l'application

L'application est créée avec le framework Violet.

Installation de Violet

npm init -y
npm install violet --save


Fichier principal Cette application se contente de dire bonjour quand on lui demande.

// Load the Violet Module
const violet = require('violet').script();

// The Controller
var app = {
    helloInFrench: (response)=>{
        response.say("Bonjour!");
    },
    helloInEnglish: (response)=>{
        response.say("Hello!");
    }
}


violet.addFlowScript(`<app>
    <<choice id="launch">
        <expecting>à quoi sert tu</expecting>
        <say>Je peux dire bonjour en français ou en anglais</say>
    </choice>

    <choice id="list">
    <expecting>dis bonjour</expecting>
    <say>Bien sur!</say>
    <decision>
        <ask>Dois-je dire bonjour en français ou en anglais?</ask>
        <choice>
            <expecting>en français</expecting>
            <resolve value="app.helloInFrench(response)"/>
        </choice>
        <choice>
            <expecting>en anglais</expecting>
            <resolve value="app.helloInEnglish(response)"/>
        </choice>
    </decision>
    </choice>
</app>`, {app});

Générer l'application

Allez dans le répertoire spacefan que vous avez crée. Lancez la commande suivante pour générer votre application avec Micronaut comme Back-End :

 mhipster import-jdl app.jdl 

Démarrer keycloak

 docker-compose -f src/main/docker/keycloak.yml up -d