Difference between revisions of "VT2020-Voice First Development-Demo"
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