{"id":15287332,"url":"https://github.com/20steps/alexa","last_synced_at":"2026-01-05T02:52:34.833Z","repository":{"id":56938079,"uuid":"98732831","full_name":"20steps/alexa","owner":"20steps","description":"PHP/Symfony based certified backend for personalized and localized 20steps Amazon Alexa Echo skill for developers, system administrators and marketers","archived":false,"fork":false,"pushed_at":"2017-10-29T20:05:06.000Z","size":69847,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-01-29T09:14:50.784Z","etag":null,"topics":["20steps","account-linking","alexa","amazon","analytics","apiai","bootstrap","bricks","echo","googlehome","localization","monitoring","php","show","symfony","symfony-application","symfony3","twig","uptimerobot","wordpress"],"latest_commit_sha":null,"homepage":"https://alexa.20steps.de","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/20steps.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-07-29T13:04:00.000Z","updated_at":"2017-08-11T13:13:49.000Z","dependencies_parsed_at":"2022-08-21T01:40:29.730Z","dependency_job_id":null,"html_url":"https://github.com/20steps/alexa","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/20steps%2Falexa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/20steps%2Falexa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/20steps%2Falexa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/20steps%2Falexa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/20steps","download_url":"https://codeload.github.com/20steps/alexa/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245200680,"owners_count":20576673,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["20steps","account-linking","alexa","amazon","analytics","apiai","bootstrap","bricks","echo","googlehome","localization","monitoring","php","show","symfony","symfony-application","symfony3","twig","uptimerobot","wordpress"],"created_at":"2024-09-30T15:27:47.586Z","updated_at":"2026-01-05T02:52:34.796Z","avatar_url":"https://github.com/20steps.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"20steps Alexa Backend\n=====================\n\nThis is the certified backend of the personalized and localized \"20steps\" Alexa skill - the skill aims to support developers, system administrators and marketers\n\nPublishing for Google Home is work in progress (cp. below).\n\nFurthermore 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.\n\n## Current capabilitites\n* Possiblity to ask UptimeRobot.com for detailed system status of your web services\n* Some easter egg for your loved one\n* Support for german and english language\n* User management including self-registration, double-opt-in, user settings, password reset, resend activation link etc.\n* Support for Amazon Alexa Webhook API\n* Support for Alexa Account linking via oAuth2\n* Certified with Amazon (cp. \u003ca target=\"_blank\" href=\"https://www.amazon.de/20steps-Digital-Full-Service-Boutique/dp/B074HHVYQ7\"\u003eSkill in Amazon Store\u003c/a\u003e).\n* Support for Sign in with Google (cp. https://github.com/hwi/HWIOAuthBundle)\n* Basic support for Google Assistant / Actions / API AI Webhook API (cp. https://api.ai/docs/fulfillment)\n* Basic support for Google Assistant / Account linking / Authorization code flow (cp. https://developers.google.com/actions/identity/oauth2-code-flow)\n* Basic support for Google Assistant / Account linking / Streamlined identity flow (cp. https://developers.google.com/actions/identity/oauth2-assertion-flow)\n* Basic support for Google Assistant / Actions / API AI / Rich responses\n\n## Technical specs\n* Built using the RAD Bricks platform in 4 days, start to publish, without any prior knowledge of Alexa\n* Responsive and localized yet minimal Website using Pages brick to integrate Wordpress as CMS and Twig/Bootstrap for layouting\n* High performance and availability deployment at Bricks Cluster including HTTP/2, SSL offloader, CDN via keycdn, CentOS containers, Varnish layer, GlusterFS, HHVM+PHP7, \u003ca target=\"_blank\" href=\"https://developers.google.com/speed/pagespeed/insights/?hl=de\u0026url=https%3A%2F%2Falexa.20steps.de%2Fde%2Flogin\u0026tab=mobile\"\u003emod_pagespeed\u003c/a\u003e, Redis, MariaDB Cluster etc. Service status available at \u003ca target=\"_blank\" href=\"https://monitoring.20steps.de\"\u003emonitoring.20steps.de\u003c/a\u003e\n\n## Setup\n\nTo setup on your MacOS X based workstation simple enter:\n\n```shell\ngit clone https://github.com/20steps/alexa\ncd alexa\nbin/setup/dev\n```\n\nHint: enter password of your local account when asked for.\n\n## Usage\n\nFor Amazon Alexa:\n* First register at the \u003ca href=\"https://alexa.20steps.de\"\u003e20steps Alexa Website\u003c/a\u003e.\n* Configure the skill by entering the API key of your UptimeRobot account etc.\n* Connect the previously registered account in the Alexa App on your smartphone.\n* Cp. \u003ca target=\"_blank\" href=\"https://alexa.20steps.de/en/c/about-the-alexa-skill\"\u003eAbout the Alexa skill\u003c/a\u003e for more infos.\n\nFor Google Assistant:\n* Ask for \"20steps\" and create / link account seamlessly\n* Configure the skill by entering the API key of your UptimeRobot account etc at https://alexa.20steps.de\n* Ask for \"status\"\n\n\n## Todo\n* Refactor / cleanup Google oAuth and Alexa oAuth account linking inkluding JWT/JWK verification etc. (wip)\n* Introduce speechlets in basic layer of Bricks abstracting away Amazon Alexa / Skills vs. Google Assistant / Actions (wip)\n* Refactor AbstractCustomBundle of Bricks platform to minimize glue code for user mgmt. (wip)\n* Rename everything to assistant.20steps.de (wip)\n* Publish for Google Assistant\n* Prepare Joblet for messages pushed to Alexa by assistantlets (wip)\n* A lot more capabilities that help developers, system administrators and marketers\n* Adapt for Echo Show as soon as it is available in Germany.\n* Automated tests and after that invite some developers to collaborate on speechlets for additional services.\n\nHints for fellow coders:\n* The business logic resides in the https://github.com/20steps/alexa/tree/master/src/Bricks/Custom/Twentysteps/AlexaBrick/AlexaBundle/Modules directory\n\n## Author\n* Helmut Hoffer von Ankershoffen (hhva@20steps.de)\n\n## Sponsored by\n\u003ca href=\"https://20steps.de\"\u003e20steps - Digital Full Service Boutique\u003c/a\u003e\n\np.s.: we are up for hire\n\n[1]:  https://github.com/20steps/bricks-installer\n[2]:  https://symfony.com/\n[3]:  https://api-platform.com/\n[4]:  https://wordpress.org/\n[5]:  http://lucene.apache.org/solr/\n[6]:  https://angularjs.org/\n[7]:  https://ionicframework.com/\n[8]:  https://packagist.org/\n[9]:  https://20steps.de\n\n[20]:  https://symfony.com/doc/current/bundles/SensioFrameworkExtraBundle/index.html\n[21]:  https://symfony.com/doc/3.2/doctrine.html\n[22]:  https://symfony.com/doc/3.2/templating.html\n[23]:  https://symfony.com/doc/3.2/security.html\n[24]:  https://symfony.com/doc/3.2/email.html\n[25]:  https://symfony.com/doc/3.2/logging.html\n[26]:  https://symfony.com/doc/3.2/assetic/asset_management.html\n[27]:  https://symfony.com/doc/current/bundles/SensioGeneratorBundle/index.html\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F20steps%2Falexa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F20steps%2Falexa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F20steps%2Falexa/lists"}