Skip to content

supership-jp/touchgift-job

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

touchgift-job

概要

Touchgfitの配信データ作成job

パッケージ構成の一覧

以下のセクションでは、Touchgiftの配信データ作成ジョブのためのソフトウェアパッケージ構成を説明します。

main

アプリケーションのエントリポイント。起動と停止の管理を行います。

codes

このパッケージには、アプリケーション全体で使用されるエラーコードやデータベースでの定数が定義されています。PostgreSQLで定義されたenumなどは、型として定義することが推奨されます。

config

このパッケージでは環境変数から設定を読み込みます。アプリケーションの設定管理に重点を置いています。

domain

このセクションはビジネスロジックとデータモデルの核となる部分です。

models

エンティティやモデルが配置されており、テーブル毎にクラスが作成されています。

repository

データのアクセスと永続化を抽象化するレイヤーです。インターフェイスとして定義され、実装はinfraパッケージにあります。外部HTTP等へのデータアクセスもこのパッケージで定義されています。

infra

インフラ関連の具体的な実装がここに配置されています。

  • データベースアクセス

  • フレームワーク依存の実装

  • 外部サービス(AWSなど)の実装

  • メトリクスとロギング

injector

依存関係の注入とルーティングの設定を行います。ここでアプリケーションの構成要素が連携されます。

interface

このパッケージはユーザインターフェース層で、以下のサブパッケージが含まれます。

controllers

リクエストを受け取り、適切なusecaseを呼び出して処理を行います。バリデーションもここで実行されます。

presenters

データをビューに適した形に変換します。ソートやページングなどのデータ操作が行われます。

gateways

外部サービスとの連携を担います。AWSの各サービスとの接続などがこのパッケージで定義されています。

usecase

アプリケーション固有のビジネスロジックがここで実装されます。データやビジネスルールに応じて、複数のusecaseが定義されています。