Giter Site home page Giter Site logo

stammbach / jovo-framework Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jovotech/jovo-framework

0.0 0.0 0.0 13.15 MB

๐Ÿ”ˆ Build cross-platform Voice Apps for Amazon Alexa and Google Assistant

Home Page: https://www.jovo.tech

License: Apache License 2.0

JavaScript 0.26% TypeScript 99.74%

jovo-framework's Introduction

Jovo Framework

The development framework for cross-platform voice apps

Documentation - CLI - Sample App - Contributing - Twitter



app.setHandler({
    LAUNCH() {
        return this.toIntent('HelloWorldIntent');
    },

    HelloWorldIntent() {
        this.ask('Hello World! What\'s your name?', 'Please tell me your name.');
    },

    MyNameIsIntent() {
        this.tell('Hey ' + this.$inputs.name.value + ', nice to meet you!');
    },
});

Jovo is the first open source framework that lets you build voice apps for both Amazon Alexa and Google Assistant with only one code base. Besides cross-platform development, Jovo also offers a variety of integrations and easy prototyping capabilities.

The main features of the Jovo ecosystem are:

  • Jovo Framework: Build voice apps for both Amazon Alexa and Google Assistant
  • Jovo CLI: Create, build, and deploy Jovo projects (including staging)
  • Jovo Webhook: Develop and debug voice apps on your local computer
  • Jovo Debugger: Test and debug voice apps in your browser
  • Jovo Language Model: A consolidated language model that can be converted into Alexa Interaction Models and Dialogflow Agents

๐Ÿš€ Join our newsletter for free courses on voice app development: www.jovo.tech/newsletter

Table of Contents

Installation

Read more in our Getting Started Guide.

Install the Jovo CLI:

$ npm install -g jovo-cli

Create a new Jovo project:

# Default: Create new JavaScript project
$ jovo new <directory>

# Alternative: Create new TypeScript project
$ jovo new <directory> --language typescript

Features

General

Basic Concepts

Name Description Docs
Command Line Tools Create and run Jovo projects from your command line ๐Ÿ“
Routing Easy routing capabilities for intents and states ๐Ÿ“
Data input Deal with user specific data and request parameters (slots and entities) easily ๐Ÿ“
Speech and visual output ย  Craft your responses, including speech an visual elements ๐Ÿ“

Advanced Features

Name Description Docs
Input Validation Define and execute different methods of validation for your user's inputs ๐Ÿ“
User object Create contextual experiences with user specific data and services ๐Ÿ“
Speech Builder Helpful class to create speech output and add variety to your responses ๐Ÿ“
i18n Create multilingual voice apps ๐Ÿ“
Jovo Persistence Layer Persist user specific data ๐Ÿ“
Jovo Analytics Layer Get usage statistics and logging with analytics integrations ๐Ÿ“
Staging Create and maintain different environments ๐Ÿ“
Plugins Extend the Jovo Framework without having to mess with its core code and architecture ๐Ÿ“
Testing Use the Jovo TestSuite to integrate unit tests into your voice app project ๐Ÿ“

Platform Specific Features

Jovo is not a common denominator solution. You can access platform specific features for Amazon Alexa and Google Assistant. See a list of supported features below.

Amazon Alexa

Name Description Docs
Audioplayer Build Alexa Audioplayer Skills ๐Ÿ“
VideoApp Build Alexa VideoApp Skills ๐Ÿ“
Alexa Cards Create visual output with home cards for Alexa Skills ๐Ÿ“
Alexa Device Address Access users' device location ๐Ÿ“
Alexa Lists Access users' To Do and Shopping Lists ๐Ÿ“
Alexa Verifier Makes it possible to host your Alexa skill on your own server instead of AWS Lambda ๐Ÿ“
Alexa Dialog Interface Use Alexa's Dialog Directives for multi-turn conversations ๐Ÿ“
Echo Show Render Templates Display visual elements on Echo Show ๐Ÿ“
Progressive Responses Keep your users engaged while processing a longer request ๐Ÿ“
Skill Events Get notified when an event (e.g. Skill enabled/disabled) occurs ๐Ÿ“
CanFulfillIntentRequest Add name-free interaction to your skill and increase your skill's discoverability ๐Ÿ“
Game Engine Provides the toolset to receive Echo Button events ๐Ÿ“
Gadget Controller Allows you to control the user's Echo Buttons ๐Ÿ“
In-Skill-Purchasing (ISP) Allows you to sell premium content ๐Ÿ“
Amazon Pay Sell physical goods and services through Alexa ๐Ÿ“
Reminders API Allows you to set reminders for your user ๐Ÿ“
Settings API Allows you to get your user's settings information ๐Ÿ“
Proactive Events API Send proactive events,which work as notifications, to your user ๐Ÿ“
Playback Controller Process audio player requests coming from, for example, touch controls on Alexa-enabled devices ๐Ÿ“

Google Assistant

Name Description Docs
Google Assistant Cards ย  ย  ย  Create visual Output for the Google Assistant mobile app ๐Ÿ“
Suggestion Chips Display buttons to allow your users to quickly reply on mobile phones ๐Ÿ“
Location Access your user's location data ๐Ÿ“
Media Response Play longform audio ๐Ÿ“
Push Notifications Send push notifications to your users ๐Ÿ“
Transactions Sell digital and physical goods in your Google Actions ๐Ÿ“

Integrations

Database Integrations

See the Jovo Persistence Layer for more information on storing user specific data.

Name Description Docs
File Persistence Saves user specific data in JSON file for fast prototyping and development (default) ๐Ÿ“
Dynamo DB Save user specific data in AWS DynamoDB table ๐Ÿ“
MongoDB Save user specific data in a MongoDB database ๐Ÿ“
MySQL Save user specific data in a MySQL database ๐Ÿ“
Google Datastore Save user specific data using Google Datastore ๐Ÿ“
Azure Cosmos DB Save user specific data using Azure CosmosDB ๐Ÿ“
Google Firestore Save user specific data in a NoSQL database by Google Firebase ๐Ÿ“

Analytics Integrations

See the Jovo Analytics Layer for more information on analytics features.

Name Description Docs
Dashbot Chatbot and Voice App Analytics including Usage Metrics, Behavior Flows, and Live Interaction Transcripts ๐Ÿ“
Bespoken Analytics Voice App Analytics including Usage Metrics, Logging, and Monitoring ๐Ÿ“
Chatbase Voice App Analytics including Usage Metrics, Session Flows and Link Tracking ๐Ÿ“
Botanalytics AI powered Chatbot Analytics and Voice Analytics ๐Ÿ“
VoiceHero Voice App Analytics including actionable insights, session tracking, custom events, cohorts, usage data and behavior flows to immediately improve in-app experience ๐Ÿ“

CMS Integrations

Name Description Docs
Google Sheets Manage content in a Google Spreadsheet ๐Ÿ“
Airtable Manage content using Airtable ๐Ÿ“

CLI Integrations

See the Jovo CLI Docs for more information on CLI features.

Name Description Docs
bst proxy ย  ย  ย  ย  Proxy service that creates a webhook link for local prototyping, with additional logging and analytics features ๐Ÿ“
nodemon Monitor changes and automatically restart the server ๐Ÿ“

Tutorials

Find a quickstart guide and comprehensive tutorials here:

Contributing

We strongly encourage everyone who wants to help the Jovo development take a look at the following resources:

We need your help

Jovo is a free, open source framework for voice developers. We're improving it every day and appreciate any feedback. How to support us? Just go ahead and build something cool with the framework and let us know at [email protected]. Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.