このプロジェクトについて
このリポジトリは、インフラストラクチャのセットアップを自動化し、アーキテクチャの規律を強制することで開発を加速する、プロダクション対応の TypeScript バックエンドボイラープレートを提供します。Fastify、Awilix、Prisma、BullMQ を基盤とし、コードを厳格なクリーンアーキテクチャのレイヤー(ドメイン、アプリケーション、インフラストラクチャ、プレゼンテーション、コンポジションルート)に整理し、依存関係は内向きに指向します。これらのレイヤー境界は、dependency-cruiser を使用した CI で自動的に強制され、アーキテクチャのドリフトを防ぎます。
主な機能は以下の通りです:
- **HTTP & API**: Zod バリデーション、バージョン付きエンドポイント、Swagger UI、統一されたエラーハンドリングを備えた Fastify 5。
- **認証 & セキュリティ**: Argon2 ハッシュ、JWT アクセス/リフレッシュトークン、メール検証、パスワードリセット、RBAC 用のコンパイル時権限カタログ。
- **永続化**: トランザクション用のワークユニットパターンを実装した、MariaDB を使用した Prisma。
- **ジョブ & イベント**: トランザクションアウトボックスパターン、Redis ベースの BullMQ キュー、専用のワーカープロセス。
- **オブザーバビリティ**: 相関 ID 付きの Pino ロギング、Prometheus メトリクス、OpenTelemetry トレース、事前設定された Grafana/Loki/Tempo スタック。
- **品質**: ドメイン/アプリケーションレイヤーの 100% カバレッジ要件、ESLint/Prettier、統合テスト用の Testcontainers。
このプロジェクトには、新しい機能の追加の参考として、動作するユーザー/認証/RBAC の垂直スライスが含まれています。単一の `APP_NAME` 環境変数による簡単な名前変更をサポートし、ローカル開発用の包括的な Docker Compose 設定も含まれています。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.