PHP/Symfony based backend for personalized and localized 20steps Amazon Alexa Echo skill for developers, system administrators and marketers
This is the certified backend of the personalized and localized "20steps" Alexa skill - the skill aims to support developers, system administrators and marketers
Publishing for Google Home is work in progress (cp. below).
Furthermore this project is a demonstration of the capabilities of the RAD platform Bricks by 20steps, availability and performance characterics of the Bricks Cloud and last but not least used to enhance my skillset during holidays.
- Possiblity to ask UptimeRobot.com for detailed system status of your web services
- Some easter egg for your loved one
- Support for german and english language
- User management including self-registration, double-opt-in, user settings, password reset, resend activation link etc.
- Support for Amazon Alexa Webhook API
- Support for Alexa Account linking via oAuth2
- Certified with Amazon (cp. Skill in Amazon Store).
- Support for Sign in with Google (cp. https://github.com/hwi/HWIOAuthBundle)
- Basic support for Google Assistant / Actions / API AI Webhook API (cp. https://api.ai/docs/fulfillment)
- Basic support for Google Assistant / Account linking / Authorization code flow (cp. https://developers.google.com/actions/identity/oauth2-code-flow)
- Basic support for Google Assistant / Account linking / Streamlined identity flow (cp. https://developers.google.com/actions/identity/oauth2-assertion-flow)
- Basic support for Google Assistant / Actions / API AI / Rich responses
- Built using the RAD Bricks platform in 4 days, start to publish, without any prior knowledge of Alexa
- Responsive and localized yet minimal Website using Pages brick to integrate Wordpress as CMS and Twig/Bootstrap for layouting
- High performance and availability deployment at Bricks Cluster including HTTP/2, SSL offloader, CDN via keycdn, CentOS containers, Varnish layer, GlusterFS, HHVM+PHP7, mod_pagespeed, Redis, MariaDB Cluster etc. Service status available at monitoring.20steps.de
To setup on your MacOS X based workstation simple enter:
git clone https://github.com/20steps/alexa cd alexa bin/setup/dev
Hint: enter password of your local account when asked for.
For Amazon Alexa:
- First register at the 20steps Alexa Website.
- Configure the skill by entering the API key of your UptimeRobot account etc.
- Connect the previously registered account in the Alexa App on your smartphone.
- Cp. About the Alexa skill for more infos.
For Google Assistant:
- Ask for "20steps" and create / link account seamlessly
- Configure the skill by entering the API key of your UptimeRobot account etc at https://alexa.20steps.de
- Ask for "status"
- Refactor / cleanup Google oAuth and Alexa oAuth account linking inkluding JWT/JWK verification etc. (wip)
- Introduce speechlets in basic layer of Bricks abstracting away Amazon Alexa / Skills vs. Google Assistant / Actions (wip)
- Refactor AbstractCustomBundle of Bricks platform to minimize glue code for user mgmt. (wip)
- Rename everything to assistant.20steps.de (wip)
- Publish for Google Assistant
- Prepare Joblet for messages pushed to Alexa by assistantlets (wip)
- A lot more capabilities that help developers, system administrators and marketers
- Adapt for Echo Show as soon as it is available in Germany.
- Automated tests and after that invite some developers to collaborate on speechlets for additional services.
Hints for fellow coders:
- The business logic resides in the https://github.com/20steps/alexa/tree/master/src/Bricks/Custom/Twentysteps/AlexaBrick/AlexaBundle/Modules directory
- Helmut Hoffer von Ankershoffen (firstname.lastname@example.org)
p.s.: we are up for hire