{"id":21946433,"url":"https://github.com/toshikwa/dmm-schedule-checker","last_synced_at":"2026-04-11T13:01:57.544Z","repository":{"id":166450353,"uuid":"634954265","full_name":"toshikwa/dmm-schedule-checker","owner":"toshikwa","description":"DMM schedule checker continuously monitors the schedule of your favorite teachers, and notifies via LINE whenever new slots are available.","archived":false,"fork":false,"pushed_at":"2023-05-26T11:01:31.000Z","size":37,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-22T16:50:25.490Z","etag":null,"topics":["aws","golang","terraform"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/toshikwa.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-05-01T16:24:11.000Z","updated_at":"2023-05-09T14:53:04.000Z","dependencies_parsed_at":null,"dependency_job_id":"74577f89-7966-4965-92ee-acaa39503dd5","html_url":"https://github.com/toshikwa/dmm-schedule-checker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/toshikwa/dmm-schedule-checker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toshikwa%2Fdmm-schedule-checker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toshikwa%2Fdmm-schedule-checker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toshikwa%2Fdmm-schedule-checker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toshikwa%2Fdmm-schedule-checker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/toshikwa","download_url":"https://codeload.github.com/toshikwa/dmm-schedule-checker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toshikwa%2Fdmm-schedule-checker/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265257695,"owners_count":23735785,"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","golang","terraform"],"created_at":"2024-11-29T04:31:50.144Z","updated_at":"2025-12-30T22:08:23.452Z","avatar_url":"https://github.com/toshikwa.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DMM schedule checker\n\nDMM schedule checker continuously monitors the schedule of your favorite teachers, and notifies via LINE whenever new slots are available.\n\n## Installation\n\nYou need to have [Docker CLI](https://github.com/docker/cli), [AWS CLI](https://github.com/aws/aws-cli) and [Terraform](https://github.com/hashicorp/terraform) installed on your machine.\n\n### Generate LINE Notify access token\n\nThen, you need to generate [LINE Notify](https://notify-bot.line.me/) access token.\n\n- go to [mypage](https://notify-bot.line.me/my/)\n- click \"Generate token\"\n- select \"1-on-1 chat with LINE Notify\" and generate\n\nLet's save the generated token in the `.env.local` file.\n\n```bash\necho \"LINE_NOTIFY_ACCESS_TOKEN=[YOUR_ACCESS_TOKEN]\" \u003e\u003e .env.local\n```\n\n### Deploy backend API\n\nYou can deploy backend API for DMM schedule checker to your AWS account as follows.\n\n```bash\n# set envs\nAWS_REGION=ap-northeast-1\nACCOUNT_ID=$(aws sts get-caller-identity --query \"Account\" --output text)\n\n# create S3 bucket to store tfstate\naws s3 mb s3://dmm-schedule-checker-${ACCOUNT_ID} --region ${AWS_REGION}\n\n# initialize terraform\nterraform init \\\n    -backend-config=\"bucket=dmm-schedule-checker-${ACCOUNT_ID}\" \\\n    -backend-config=\"region=${AWS_REGION}\" -reconfigure\n\n# deploy application\nterraform apply -auto-approve\n```\n\n## Usage\n\nTo add/delete your favorite teacher, you can simple call the API as follows. Currently, we don't have frontend application for it.\n\n```bash\n# API endpoint\nENDPOINT_URL=https://$(terraform output --raw endpoint)\n\n# add teacher\ncurl -X POST -H \"Content-Type: application/json\" \\\n    -d '{\"id\": \"5_DIGIT_TEACHER_ID\"}' ${ENDPOINT_URL}/teachers\n\n# delete teacher\ncurl -X DELETE ${ENDPOINT_URL}/teachers/5_DIGIT_TEACHER_ID\n```\n\nThe application checks the schedule of enrolled teachers every 20 seconds, and notifies via LINE whenever new slots are available.\n\n## Clean up\n\nYou can clean up all resources as follows.\n\n```bash\n# set envs\nAWS_REGION=ap-northeast-1\nACCOUNT_ID=$(aws sts get-caller-identity --query \"Account\" --output text)\n\n# clean up api resources\nterraform destroy -auto-approve\n\n# remove tfstate file and s3 bucket\naws s3 rm s3://dmm-schedule-checker-${ACCOUNT_ID}/terraform.tfstate --region ${AWS_REGION}\naws s3 rb s3://dmm-schedule-checker-${ACCOUNT_ID} --region ${AWS_REGION}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftoshikwa%2Fdmm-schedule-checker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftoshikwa%2Fdmm-schedule-checker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftoshikwa%2Fdmm-schedule-checker/lists"}