{"id":13475207,"url":"https://github.com/line/clova-cek-sdk-swift","last_synced_at":"2025-03-26T23:30:36.115Z","repository":{"id":63916574,"uuid":"140407835","full_name":"line/clova-cek-sdk-swift","owner":"line","description":"SDK of the Clova CEK for Swift","archived":true,"fork":false,"pushed_at":"2018-10-10T02:29:04.000Z","size":33,"stargazers_count":20,"open_issues_count":0,"forks_count":2,"subscribers_count":46,"default_branch":"master","last_synced_at":"2025-03-01T14:47:13.213Z","etag":null,"topics":["cek-sdk","clova","kitura","serverside-swift","swift"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/line.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-07-10T09:17:46.000Z","updated_at":"2023-05-30T07:46:19.000Z","dependencies_parsed_at":"2023-01-14T13:45:18.526Z","dependency_job_id":null,"html_url":"https://github.com/line/clova-cek-sdk-swift","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/line%2Fclova-cek-sdk-swift","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/line%2Fclova-cek-sdk-swift/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/line%2Fclova-cek-sdk-swift/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/line%2Fclova-cek-sdk-swift/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/line","download_url":"https://codeload.github.com/line/clova-cek-sdk-swift/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245753815,"owners_count":20666816,"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":["cek-sdk","clova","kitura","serverside-swift","swift"],"created_at":"2024-07-31T16:01:18.316Z","updated_at":"2025-03-26T23:30:35.718Z","avatar_url":"https://github.com/line.png","language":"Swift","funding_links":[],"categories":["Swift"],"sub_categories":[],"readme":"# Clova-CEK-SDK-Swift\n\n## About this repository\n\nThis is a library to help for development of the extension with the Clova Extension Kit (CEK).\nCEK Documentation can be found [here](https://clova-developers.line.me/guide/).\n\nThis library also contains a sample project which returns local time of a city in the world about which an user asks Clova.\n\n## Architecture\n\nThis library and the sample project can be built with the Swift Package Manager(SPM). It has a dependency on Kitura.\n\nFollowing environment variables need to be set when it runs:\n\n### For the sample project\n|Name|Value|Explanation|is Mandatory|\n| --- | --- | --- | --- |\n|PORT|Int|A port number to listen to|Yes (Heroku automatically sets it)|\n|APPLICATION_ID|String|An application Id that you set on the clova platform|Eiter this or PATH_FOR_DEBUG is necessary|\n|PATH_FOR_DEBUG|Any|If set, the server responds in \u003cPATH_FOR_DEBUG\u003e without verification|Eiter this or APPLICATION_ID is necessary|\n|LOG_TYPES|String|Log types to output. Combine following strings with `,`: `ENTRY`, `EXIT`, `DEBUG`, `VERBOSE`, `INFO`, `WARNING`, `ERROR`|No|\n|GOOGLE_API_KEY|String|A user key for Google Geocoding API|No|\n\n## Preparation of development\n\nTo develop it with XCode, do\n```\n$ swift package generate-xcodeproj\n$ open *.xcodeproj\n```\n*Note that it requires macOS version \u003e= 10.12 for some of Security framework methods*\n\nIt has a Dockerfile which can be used by Docker. If you want to use Docker for build, execusion or deploy, install Docker.\nhttps://docs.docker.com/docker-for-mac/\n\n## Preparation in the Clova Platform for the sample app\n\nThis sample app handles an intent named `CityTimeIntent`, with a slot named `city_name`.\nLog into the platform and register them in your skill with enough number of corpora.\n\n## Build the sample app\n\nSPM\n```\n$ swift build\n```\n\nDocker\n```\n$ docker-compose build web\n```\n\n## Run the sample app\n\nSPM(Hit Control+C to quit)\n```\n$ swift run\n```\n\nDocker(Hit Control+C to quit)\n```\n$ docker-compose up web\n```\n\n## Deploy to Heroku with Docker\n\nThe webhook server for the extension requires SSL connection and we introduce Heroku as one of the solution.\n\n### Preparation\n\nMake sure Docker is running\n```\n$ docker ps\n```\n\nInstall Heroku-CLI. Brew can be used:\n```\n$ brew install heroku/brew/heroku\n```\n\nCreate your Heroku account.\nhttps://www.heroku.com\n\nLog into Heroku and create your app.\nWith heroku commands after here, you can specify existing app name by putting --apps \u003capp name\u003e.\n```\nheroku login\nheroku create\n```\n\n### Environment variables\n\nSet necessary environment variables besides $PORT which is automatically set by Heroku.\n```\n$ heroku config:add LOG_TYPES=\"WARNING,ERROR\"\n```\n\nSet PATH_FOR_DEBUG to answer any request without verification\n```\n$ heroku config:add PATH_FOR_DEBUG=\"/debug\"\n```\n\n### Deploy\n\n```\n$ heroku container:login\n$ heroku container:push web\n$ heroku container:release web\n```\n\n## References\n\nHow to run Vapor with Docker in Heroku\nhttps://gist.github.com/alexaubry/bea6f9b626e71b48ae6065664748bc97\n\nContainer Registry \u0026 Runtime (Docker Deploys)\nhttps://devcenter.heroku.com/articles/container-registry-and-runtime\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fline%2Fclova-cek-sdk-swift","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fline%2Fclova-cek-sdk-swift","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fline%2Fclova-cek-sdk-swift/lists"}