touchgift-job Table of Contents 概要 パッケージ構成の一覧 main codes config domain infra injector interface usecase 概要 Touchgfitの配信データ作成job パッケージ構成の一覧 以下のセクションでは、Touchgiftの配信データ作成ジョブのためのソフトウェアパッケージ構成を説明します。 main アプリケーションのエントリポイント。起動と停止の管理を行います。 codes このパッケージには、アプリケーション全体で使用されるエラーコードやデータベースでの定数が定義されています。PostgreSQLで定義されたenumなどは、型として定義することが推奨されます。 config このパッケージでは環境変数から設定を読み込みます。アプリケーションの設定管理に重点を置いています。 domain このセクションはビジネスロジックとデータモデルの核となる部分です。 models エンティティやモデルが配置されており、テーブル毎にクラスが作成されています。 repository データのアクセスと永続化を抽象化するレイヤーです。インターフェイスとして定義され、実装はinfraパッケージにあります。外部HTTP等へのデータアクセスもこのパッケージで定義されています。 infra インフラ関連の具体的な実装がここに配置されています。 データベースアクセス フレームワーク依存の実装 外部サービス(AWSなど)の実装 メトリクスとロギング injector 依存関係の注入とルーティングの設定を行います。ここでアプリケーションの構成要素が連携されます。 interface このパッケージはユーザインターフェース層で、以下のサブパッケージが含まれます。 controllers リクエストを受け取り、適切なusecaseを呼び出して処理を行います。バリデーションもここで実行されます。 presenters データをビューに適した形に変換します。ソートやページングなどのデータ操作が行われます。 gateways 外部サービスとの連携を担います。AWSの各サービスとの接続などがこのパッケージで定義されています。 usecase アプリケーション固有のビジネスロジックがここで実装されます。データやビジネスルールに応じて、複数のusecaseが定義されています。