Webタイムカードを物理で押すボタンです。
- Amazon Web Services
- Docker
- Node.js 14
- Serverless Framework
- Swagger
- Viron
- Playwright
- M5StickC
本リポジトリーから Clone してから実際に動かすまでの手順を示します。
$ docker-compose up
/src/env.prod.yml
ファイルを予め作成しておく必要があります- Cognito ユーザープール (カスタム属性
custom:apikey
を持つ) およびアプリクライアント、Hosted UI を作成しておく必要があります - S3バケット (
SERVICENAME-prod
) を予め作成しておく必要があります
$ yarn release:prod
$ yarn destroy:prod
以下のシークレットをリポジトリーに設定することで、masterブランチへ Push するたびに自動デプロイされるようになります。
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
ENV_ADMINISTRATOR_IAM_USER
ENV_COGNITO_BASE_URL
ENV_COGNITO_CLIENT_ID
ENV_COGNITO_CLIENT_SECRET
ENV_COGNITO_USERPOOL_ID
ENV_KINTAI_WEBSITE_URL
- 管理者がSSMオートメーション [CreateUserSSMAutomation] にて登録メールアドレスを入力して実行します。
- ユーザーに管理画面URL、APIサーバーURL、仮パスワードが記載されたメールが届きます。
- 管理画面URLにアクセスし、APIサーバーURLでエンドポイントを追加します。
- エンドポイントにアクセスし、Cognito経由でログインします。
- 勤怠システム接続設定画面から勤怠ユーザー名、パスワードを登録します。
- 勤怠システム接続設定画面からタイムカード打刻テストを行います。
- Arduino IDE等でAPIキー (SSMオートメーションの出力に含まれる) を埋め込んでビルドします。
- 任意のタイミングでボタンを押します。
- 管理画面URLにアクセスし、APIサーバーURLでエンドポイントを追加します。
- エンドポイントにアクセスし、Cognito経由でログインします。
- 勤怠システム接続設定画面からタイムカードボタン利用停止を実行します。