Skip to content

技術スタック

本ドキュメントは、TASHIKAプラットフォームで採用する具体的な技術スタック(ライブラリ、フレームワーク、バージョン)を定義します。

→ 満たす設計: バックエンドアーキテクチャ, フロントエンドアーキテクチャ


バックエンド

ランタイム・フレームワーク

カテゴリ選定備考
言語/ランタイムC# .NET 10ASP.NET Core Web API
APIスタイルREST (Minimal APIs)GraphQL (HotChocolate) も検討可

ライブラリ

カテゴリライブラリ備考
ORMEntity Framework CorePostgreSQL provider
CQRSMediatRCommand/Query ハンドラー
バリデーションFluentValidation
帳票生成QuestPDFSaaS利用には有償ライセンスが必要
ログSerilog構造化ログ
シリアライズSystem.Text.JsonスナップショットのJSON保存
非同期ジョブHangfire + Hangfire.PostgreSqlバックグラウンドジョブ基盤。PostgreSQLバックエンド
テンプレートエンジンScriban通知テンプレート(Liquid互換)
メール配信SendGrid C# SDKトランザクショナルメール
決済Stripe .NET SDKサブスクリプション請求・Webhook入金通知・カードトークン化
耐障害性Polly via Microsoft.Extensions.Http.ResilienceCircuit Breaker, Retry, Timeout

テストツール

カテゴリライブラリ備考
ユニットテストxUnit + FluentAssertions
プロパティテストFsCheck不変条件の検証
統合テストTestcontainersPostgreSQL コンテナ起動
モックNSubstitute + WireMock.Net

開発ツール

カテゴリツール備考
静的解析Roslyn Analyzers + StyleCop.Analyzers
フォーマッターdotnet format + .editorconfig
セキュリティスキャンSonarCloud + Dependabot

フロントエンド

ランタイム・フレームワーク

カテゴリ選定備考
言語TypeScript 5.x
フレームワークReact 19 + Vite
ルーティングTanStack Router型安全ルーティング
状態管理TanStack Queryサーバーデータのキャッシュと同期

ライブラリ

カテゴリライブラリ備考
UIコンポーネントTailwind Plus有償ライセンス保有
スタイリングTailwind CSS
フォームReact Hook Form + Zodスキーマバリデーション
API クライアントopenapi-fetchOpenAPI 型自動生成
アイコンLucide React
日付処理date-fns

テストツール

カテゴリライブラリ備考
ユニットテストVitest + Testing Library
E2EテストPlaywright
アクセシビリティaxe-coreWCAG 2.1 AA 準拠確認
ビジュアルリグレッションChromatic (Optional)

開発ツール

カテゴリツール備考
静的解析ESLint (Flat Config) + typescript-eslint
フォーマッターPrettier
型チェックtsc --noEmitCI必須
バンドル分析rollup-plugin-visualizer

データベース

カテゴリ選定備考
RDBMSPostgreSQL 16+
セキュリティRow Level Security (RLS)TenantIdによる強制分離
パーティションTaxYear ごと1月集中時の高速検索
非構造化データJSONB + GIN Indexスナップショット保存

認証・セキュリティ

カテゴリ選定備考
認証基盤ASP.NET Core Identity将来的なIDaaS移行オプションあり
トークンJWTAccess: 15分, Refresh: 7日
MFATOTPGoogle Authenticator互換
鍵管理Cloud KMSHSM保護

→ 満たす設計: セキュリティ設計


インフラストラクチャ

カテゴリ選定備考
クラウドGoogle Cloud日本リージョン(東京 asia-northeast1 / 大阪 asia-northeast2)
コンテナDockerマルチステージビルド
オーケストレーションCloud Run
ストレージCloud Storage証憑ファイル
監視Cloud Logging / Cloud MonitoringSerilog連携
メール配信SendGridトランザクショナルメール、Event Webhook

メッセージング・通知

カテゴリ選定フェーズ備考
メール配信SendGridMVPECDSA 署名検証、バウンスハンドリング
非同期ジョブHangfire + PostgreSQLMVPダッシュボード UI 組み込み
Slack 通知Slack Web APIMVPテナント別 Webhook 設定
Teams 通知Microsoft Graph APIv1.1OAuth 連携
LINE WORKS 通知LINE WORKS Bot APIv1.1日本市場向け

→ 満たす設計: 非同期ジョブ・通知アーキテクチャ


CI/CD

ステージツール/内容
CIGitHub Actions
LintESLint, StyleCop, Prettier check
Build.NET build, Vite build
TestxUnit, Vitest, Playwright (並列実行)
SecurityDependabot, SonarCloud, Trivy
DeployCloud Run (Blue/Green)

コード品質ゲート(PRマージ条件)

  • 全テスト通過
  • カバレッジ閾値達成(Backend 90%, Frontend 80%)
  • SonarCloud Quality Gate 通過
  • レビュー1名以上承認

規約

  • コミット規約: Conventional Commits(feat:, fix:, docs: 等)
  • ブランチ戦略: GitHub Flow(main + Feature Branch)