{"id":23895529,"url":"https://github.com/michimani/honyakutter","last_synced_at":"2025-02-23T07:16:18.555Z","repository":{"id":39709969,"uuid":"434270496","full_name":"michimani/honyakutter","owner":"michimani","description":"Sample application managed with AWS CDK v2 (golang).","archived":false,"fork":false,"pushed_at":"2022-05-27T16:25:30.000Z","size":4574,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-01-04T15:57:35.728Z","etag":null,"topics":["aws-cdk","golang","step-functions","twitter-api-v2"],"latest_commit_sha":null,"homepage":"","language":"Go","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/michimani.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-12-02T15:16:26.000Z","updated_at":"2022-04-26T01:35:58.000Z","dependencies_parsed_at":"2022-09-20T08:31:17.156Z","dependency_job_id":null,"html_url":"https://github.com/michimani/honyakutter","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/michimani%2Fhonyakutter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michimani%2Fhonyakutter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michimani%2Fhonyakutter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michimani%2Fhonyakutter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/michimani","download_url":"https://codeload.github.com/michimani/honyakutter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240280984,"owners_count":19776418,"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":["aws-cdk","golang","step-functions","twitter-api-v2"],"created_at":"2025-01-04T15:57:42.336Z","updated_at":"2025-02-23T07:16:18.518Z","avatar_url":"https://github.com/michimani.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"honyakutter\n===\n\nThis is an application that translates text entered in Japanese into English and tweets it, defined using AWS CDK v2 (golang) and using AWS Step Functions to connect the translation and tweeting processes.\n\n# Preparation\n\n1. Check your AWS CDK version.\n\n    ```bash\n    cdk --version\n    ```\n    \n    If you have not installed it, please use the following command to install it.\n    \n    ```bash\n    npm install -g aws-cdk\n    ```\n\n    This application is intended for use with AWS CDK `v2.0.0` or higher.\n\n2. Getting Twitter API's some tokens.\n\n    ⚠️ You will need the Twitter API key and secret, as well as the access token and access token secret. Please create an app on the Twitter Developer page and obtain each token.\n\n1. Create `.env` file.\n\n    ```bash\n    cp .env.sample .env\n    ```\n\n    And, replace values of each environment variables.\n\n2. Load environment variables.\n\n    ```bash\n    source .env\n    ```\n\n# Build\n\n1. Build Tweet Lambda Function\n\n    ```bash\n    cd resources/lambda_functions/tweet \\\n    \u0026\u0026 GOARCH=amd64 GOOS=linux go build -o bin/main\n    ```\n\n# Deploying\n\n1. bootstrap \n\n    ```bash\n    cdk bootstrap\n    ```\n\n1. Build Lambda functions\n\n    ```bash\n    make build-tweet\n    ```\n\n1. Load environment values \n\n    ```bash\n    source .env\n    ```\n\n1. Generate CFn template\n\n    ```bash\n    cdk synth\n    ```\n\n1. deploy\n\n    ```bash\n    cdk deploy\n    ```\n\n\n# Testing\n\n```bash\ngo test .\n```\n\n# Manual execution\n\nExecute Lambda functions and Step Functions state machine manually by using AWS CLI.. (The latest versions at the time of this writing are `v2.4.4` and `1.22.18`.)\n\n## Tweet Lambda Function\n\n```bash\naws lambda invoke \\\n--function-name honyakutter-go-tweet-function \\\n--invocation-type Event \\\n--region ap-northeast-1 \\\n--payload fileb://testdata/tweet_lambda_payload.json \\\nout\n```\n\n## Start state machine\n\n1. Get state machine ARN\n\n    ```bash\n    STATEMACHINE_ARN=$(\n        aws stepfunctions list-state-machines \\\n        --query \"stateMachines[?name=='honyakutter-go-translate-tweet-state-machine'].stateMachineArn\" \\\n        --output text\n    ) \u0026\u0026 echo \"${STATEMACHINE_ARN}\"\n    ```\n\n2. execute\n\n    ```bash\n    aws stepfunctions start-execution \\\n    --state-machine-arn \"${STATEMACHINE_ARN}\" \\\n    --input file://testdata/statemachine_input.json\n    ```\n\n# Licence\n\n[MIT](https://github.com/michimani/honyakutter/blob/main/LICENCE)\n\n# Author\n\n[michimani210](https://twitter.com/michimani210)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichimani%2Fhonyakutter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmichimani%2Fhonyakutter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichimani%2Fhonyakutter/lists"}