{"id":23306018,"url":"https://github.com/alexa-samples/skill-sample-nodejs-college-finder","last_synced_at":"2025-08-22T10:30:57.157Z","repository":{"id":64991399,"uuid":"148226711","full_name":"alexa-samples/skill-sample-nodejs-college-finder","owner":"alexa-samples","description":"This is a complex Node.js sample skill with examples of DynamoDB integration, display templates, dialog management, state management, contextual help and errors, and entity resolution.","archived":false,"fork":false,"pushed_at":"2022-12-20T23:26:24.000Z","size":708,"stargazers_count":26,"open_issues_count":3,"forks_count":22,"subscribers_count":10,"default_branch":"master","last_synced_at":"2023-03-05T03:55:53.559Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alexa-samples.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-09-10T22:25:09.000Z","updated_at":"2023-01-27T18:38:34.000Z","dependencies_parsed_at":"2023-01-12T07:15:39.817Z","dependency_job_id":null,"html_url":"https://github.com/alexa-samples/skill-sample-nodejs-college-finder","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexa-samples%2Fskill-sample-nodejs-college-finder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexa-samples%2Fskill-sample-nodejs-college-finder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexa-samples%2Fskill-sample-nodejs-college-finder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexa-samples%2Fskill-sample-nodejs-college-finder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alexa-samples","download_url":"https://codeload.github.com/alexa-samples/skill-sample-nodejs-college-finder/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230582791,"owners_count":18248674,"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-12-20T12:15:12.050Z","updated_at":"2024-12-20T12:15:12.743Z","avatar_url":"https://github.com/alexa-samples.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/alexa/skill-sample-nodejs-college-finder.svg?branch=master)](https://travis-ci.org/alexa/skill-sample-nodejs-college-finder)\n\n## Alexa Sample: College Finder (Node.js)\n\nThis is a complex and useful Node.js sample skill with examples of DynamoDB integration, display templates, dialog management, state management, contextual help and errors, and entity resolution.\n\n## Getting Started\n\n### Data Source\nThis skill queries the College Scorecard API public dataset. For more information view the documentation on the College Scorecard [site](https://collegescorecard.ed.gov/data/documentation/). \n\n### Environment Variables\n\nThe skill references environment variables in the config.js file for instance specific data. In order to successfully deploy and launch the skill you need to add the following environment variables to your deployment:\n\n1. **SKILL_ID** - The application ID for the skill\n2. **API_KEY** - Request a key for the College Scorecard api on the api.data.gov [website](https://api.data.gov/signup/). \n3. **MAIN_IMAGE**, **LIST_IMAGE**, **GRAD_IMAGE** - These are all images that appear as backgrounds throughout the skill for devices with displays. You can find example images in the config.js file. \n\n### Deploy the skill\n\nTo deploy using the Alexa Skills Kit, issue the following ask command from the root of the skill. (Make sure you first configure the ask command line. Info here: https://developer.amazon.com/docs/smapi/quick-start-alexa-skills-kit-command-line-interface.html)\n\nask deploy --force\n\nThis will create a lambda function called ask-custom-University-Finder-default with an execution role of ask-lambda-University-Finder\n\nAdd the Environment variables to your Lambda function manually or run the below AWS command (Info on how to set up AWS CLI here: https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)\n\n`aws lambda update-function-configuration --function-name ask-custom-University-Finder-default --environment Variables={SKILL_ID=YOURSKILLID,LIST_IMAGE=https://s3.amazonaws.com/YOURS3BUCKET/image.jpg,API_KEY=YOURAPIKEY,GRAD_IMAGE=https://s3.amazonaws.com/YOURS3BUCKET/image-2.jpg,MAIN_IMAGE=https://s3.amazonaws.com/YOURS3BUCKET/image-3.jpg}`\n\nMake sure to change the variables to match your environment\n\nThen run this command:\n\nask deploy --force\n\nto re-deploy the skill\n\nYou then need to add the following rights to the ask-lambda-University-Finder role. \n\nCloudWatchFullAccess\nAmazonDynamoDBFullAccess\n\nYou can add them manually to the rol or run the following aws commands. \n\n`aws iam attach-role-policy --role-name ask-lambda-University-Finder --policy-arn arn:aws:iam::aws:policy/CloudWatchFullAccess`\n`aws iam attach-role-policy --role-name ask-lambda-University-Finder --policy-arn arn:aws:iam::aws:policy/AmazonDynamoDBFullAccess`\n\nThen run this command:\n\nask deploy --force\n\nto re-deploy the skill\n\nYour skill should now be ready for testing.\n\n\n## Testing the Skill\n\nTake a look at the unit-tests and end-to-end tests provided for this skill by [Bespoken](https://bespoken.io). \n\n* The unit-tests ensure the code is working correctly\n* End-to-end tests ensure the skill as a whole is working right\n* Read more [here](/lambda/custom/test)\n\n## License\n\nThis sample is licensed under the Amazon Software License.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexa-samples%2Fskill-sample-nodejs-college-finder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falexa-samples%2Fskill-sample-nodejs-college-finder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexa-samples%2Fskill-sample-nodejs-college-finder/lists"}