{"id":18544664,"url":"https://github.com/instructure/canvas-alexa-lambda","last_synced_at":"2025-04-09T19:31:01.595Z","repository":{"id":33838701,"uuid":"142622949","full_name":"instructure/canvas-alexa-lambda","owner":"instructure","description":"Instructure's Alexa lambda interface for Canvas-LMS","archived":false,"fork":false,"pushed_at":"2023-07-11T01:01:25.000Z","size":1439,"stargazers_count":12,"open_issues_count":23,"forks_count":5,"subscribers_count":13,"default_branch":"master","last_synced_at":"2024-04-14T20:25:48.808Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/instructure.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-07-27T20:56:56.000Z","updated_at":"2023-09-12T12:23:31.000Z","dependencies_parsed_at":"2023-01-15T03:01:16.532Z","dependency_job_id":null,"html_url":"https://github.com/instructure/canvas-alexa-lambda","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/instructure%2Fcanvas-alexa-lambda","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/instructure%2Fcanvas-alexa-lambda/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/instructure%2Fcanvas-alexa-lambda/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/instructure%2Fcanvas-alexa-lambda/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/instructure","download_url":"https://codeload.github.com/instructure/canvas-alexa-lambda/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223407794,"owners_count":17140563,"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":[],"created_at":"2024-11-06T20:17:14.162Z","updated_at":"2024-11-06T20:17:14.789Z","avatar_url":"https://github.com/instructure.png","language":"JavaScript","readme":"# Canvas Alexa Lambda\n\n[Canvas](https://github.com/instructure/canvas-lms) Alexa Lambda is the lambda function that runs all intents present in the Canvas-LMS Alexa Skill.\n\n## Getting Started\n\nTo get started, set up your `.lambda-dev` file. The `.lambda-dev-example` file includes a basic setup; however, \nyou will still need to get your own access key for the host you are running against. For the best local development \nexperience (and the easiest to track requests/problems), clone and run [Canvas-lms](https://github.com/instructure/canvas-lms) locally. This process will help you keep the default host in the `.lambda-dev-example`.\nThen, visit your users settings (`\u003chost\u003eprofile/settings`) to create an access token and paste it into the `.lambda-dev` file.\n\nAfter that you should be able to run the `devScript.sh` with the intent you would like to test.\nA list of possible intents can be found in `intents.json`:\n\n*Docker*\n\n`docker build -t alexalambda .`\n`docker run -it --rm alexalambda ./bin/devScript.sh \u003cintentName\u003e`\n\n*local*\n\n`yarn`\n`./bin/devScript.sh \u003cintentName\u003e`\n\nThe script will run the lambda with some dummy session and context data and return\nthe output of your intent in the saml field.\n\nexample:\n\n```\n$ ./bin/devScript.sh GetBlackboard\nresponse for Intent: GetBlackboard\n{ version: '1.0',\n  response:\n   { shouldEndSession: false,\n     outputSpeech:\n      { type: 'SSML',\n        ssml: '\u003cspeak\u003e You must be crazy. Anything else? \u003c/speak\u003e' },\n     reprompt: { outputSpeech: [Object] } },\n  sessionAttributes: 'mock session attributes' }\n```\n\n### Prerequisites\n\nYou will either need:\n\n[Docker](https://www.docker.com/)\n\nor\n\n[Node](https://nodejs.org/en/) v10.22.0.\n\nYou can use npm if you would like; however, we use [Yarn](https://yarnpkg.com/lang/en/) for this project.\n\n## Running the tests\n\nWe use jest for testing the canvas alexa lambda:\n\n*Docker*\n\n`docker run alexalambda yarn test`\n\n*local*\n\n`yarn test`\n\n### And coding style tests\n\nWe use prettier in this project. Once you are comfortable with your intent or change you can run:\n\n`yarn lint`\n\nThis will auto format your code to our prettier standard.\n\n## Built With\n\n* [Alexa-AWS-SDK](https://github.com/alexa/alexa-skills-kit-sdk-for-nodejs) - The library to handle intents\n* [Node](https://nodejs.org/en/) - javascript engine\n\n## Contributing\n\nPlease read [CONTRIBUTING.md](https://github.com/instructure/canvas-alexa-lambda/blob/master/CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests to us.\n\n## Versioning\n\nWe use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/your/project/tags).\n\n## Authors\n\n* **Steven Burnett** - *Initial work* - [sdb1228](https://github.com/sdb1228)\n* **Landon Gilbert-Bland** - *Initial work* - [vimalloc](https://github.com/vimalloc)\n\nSee also the list of [contributors](https://github.com/instructure/canvas-alexa-lambda/graphs/contributors) who participated in this project.\n\n## License\n\nThis project is licensed under the GNU AFFERO GENERAL PUBLIC License - see the [LICENSE](LICENSE) file for details.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finstructure%2Fcanvas-alexa-lambda","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finstructure%2Fcanvas-alexa-lambda","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finstructure%2Fcanvas-alexa-lambda/lists"}