Giter Club home page Giter Club logo

dc-metro-echo's People

Contributors

pmyers88 avatar rjbeers avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

dc-metro-echo's Issues

Switch to custom slots for GetServiceAdvisories

Whenever I attempt to call the GetStationDestination intent, Alexa performs calls the GetServiceAdvisories intent instead. I think this may be because our sample utterances for GetStationDestination and GetServiceAdvisories are both one word.

We should be able to use custom slots to replicate the enumeration of words we currently accept for advisory intents. Hopefully this would prevent confusion.

Ask the user to repeat question when handling errors

From the certification feedback:

When invoking the "GetStation" intent with no value provided for the "station" slot, the skill responds “There was a problem with the requested skill's response” and “Requested Identifier” is displayed in the home card. Please see [test case 4.11](https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/alexa-skills-kit-voice-interface-and-user-experience-testing?ref_=pe_679090_102923190#4.11. Error Handling) from our Submission Checklist for guidance on error handling.

Travis CI is broken

Currently, npm test points to a non-existent file, so Travis CI always fails.

We should decide what kind of testing we want to do with Travism and then make it green.

Use npm scripts instead of gulp

Now that we're using npm scripts for some of the testing stuff, I think it could be good to switch to npm for consistency and as a learning experience.

Here's a reference on using npm scripts.

Sanitize abbreviations for boarding and arriving

In addition to the number of minutes until the next train, the WMATA api also returns abbreviations for "boarding now" and "arriving". Determine what these abbreviations are and replace them with the whole word.

Use Node.js: v0.10.36

While looking for environment variable support, I found that AWS Lambda supports Node v0.10.36. We should verify that node 4 is supported as well or write tests and run CI using node v0.10.36.

Travis CI still failing on PRs

Since no travis file is found, it is defaulting to something that is not meant for this project. This causes it to fail. Maybe we should add back in a basic Node Travis file, since that seemed to npm install, fail to find test cases and label the PR as a pass.

Help response should prompt use for question

From the certification feedback:

The help prompt must end with a question for users and leave the stream open to receive a response or guide users on how to explore the skill’s functionality after the help prompt. Please see [test case 4.12](https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/alexa-skills-kit-voice-interface-and-user-experience-testing?ref_=pe_679090_102923190#4.12. Intent %28Help%29) from our Submission Checklist for guidance on the help intent.

Support setting a home station

  • Use DynamoDB to save user's home station. This sample skill should be useful in figuring out how to do that.
  • Add support for phrases like "When does the next train arrive" - should look up next train arrivals for user's home station.

Variations on stop names should be understood

I think everyone has a name for their stop that is not what the API returns. We should take a look at what people call their stops and then implement matchers, so we not only match speech correctly to the stop but also announce the stop in a more casual way.

For instance, "Wiehle Reston East" could be asked for as "Reston" or "Wiehle." We want to understand both, but also, we probably want to just announce it as "Reston" when the echo says it.

Better voice interface when there is one station option

When it's close to closing, there may only be 1 train arriving at the requested station. This is how the current voice interface works:

When is the next train arriving at Ballston?
Are you going to Vienna?
Yes.
Sorry, there was a problem with the requested skills response.

Maybe switch to:

When is the next train arriving at Ballston?
The next train from Ballston to Vienna arrives in 8 minutes. There are no other trains arriving at Ballston in the next 20 minutes.

App throws "Unexpected exception TypeError: Cannot call method 'call' of undefined"

The exception is thrown for any GetStation request. Full info:

{
    "errorMessage": "Cannot call method 'call' of undefined",
    "errorType": "TypeError",
    "stackTrace": [
        "AlexaSkill.requestHandlers.IntentRequest (/var/task/vendor/AlexaSkill.js:32:37)",
        "AlexaSkill.execute (/var/task/vendor/AlexaSkill.js:110:24)",
        "exports.handler (/var/task/index.js:8:7)"
    ]
}

Respond with Cards

Some of our responses are missing cards. Make sure we have cards for responses that end an interaction with the user.

Titleize library does not work as needed

The titleize library does not work for stations we have already corrected. For example:

titleize('Foggy Bottom-GWU') = 'Foggy Bottom-Gwu'

Use a titleize function that will titleize user inputs that need titleization (i.e. takoma, silver spring) and not mess with station names that we've already corrected.

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.