S3にアップロードされた猫の画像からLGTM画像を生成するAWS Lambda関数です。
Lambda関数は以下の3つのプロセスを実行します:
- JUDGE_IMAGE - アップロードされた画像の検証
- GENERATE_LGTM_IMAGE - 猫画像に「LGTMeow」テキストを追加してWebP形式で出力
- STORE_TO_DB - 画像情報をDBに保存
- Python 3.12
- uv(パッケージマネージャー)
uv sync# リント
make lint
# リント(自動修正)
make fix
# フォーマット
make format
# 型チェック
make typecheck
# テスト
make testローカルでの実行はサポートしていません。STG環境にデプロイして確認してください。
src/
├── domain/ # インターフェース定義(Protocol)
├── infrastructure/ # 外部システムの具体実装(S3、DB)
├── usecase/ # ビジネスロジック
├── presentation/ # リクエストルーティング
├── log/ # ロギング
└── main.py # Lambdaエントリーポイント
デプロイはGitHub Actionsワークフロー内で自動的に実行されます。
- ステージング: mainブランチへのPRマージ時
- 本番: セマンティックバージョニングに基づいたリリースタグ(例:v1.0.0)追加時
GitHub Actionsのworkflow_dispatchを使用して手動でデプロイを実行することも可能です。
LGTMテキストの追加にM PLUS Rounded 1c(Google Fonts)を使用しています。