Difference between revisions of "VT2020-Voice First Development-Demo"

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 17: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