.NETで学ぶ現代的なソフトウェア開発:Books Inventoryリポジトリ解説
このリポジトリ「Books Inventory」は、.NET を用いた実践的なソフトウェア開発とシステムデザインを学ぶためのリソースです。ベストプラクティスを習得し、堅牢なWebアプリケーションの構築、テスト、デプロイを効率的に行う方法を解説します。
このリポジトリで学べること
- ASP.NET Minimal API: 軽量なWeb API構築
- 統合テスト: 効果的なテスト手法
- Testcontainers: テストの高度な活用
- システムデザイン: モダンな設計原則
簡単スタートガイド
- リポジトリをクローン:
git clone https://github.com/dorinandreidragan/books-inventory.git
- プロジェクトディレクトリへ移動
- Docker Composeで必要なサービスを起動
- データベースの初期化:
dotnet ef database update --project src/BooksInventory.WebApi/BooksInventory.WebApi.csproj
- アプリケーションのビルドと実行:
dotnet run --project src/BooksInventory.WebApi/BooksInventory.WebApi.csproj
- APIをテスト:
BooksInventory.http
を使用
実践的なビルド手順
プロジェクトをビルドするには、.NET SDK が必要です。以下のコマンドを実行します。
dotnet build
徹底的なテスト
このプロジェクトは、徹底的なテストを通じて品質を確保しています。
- Web APIの統合テスト: APIの動作を検証
- Testcontainersを活用: PostgreSQLとの連携をテスト
以下のコマンドでテストを実行できます。
dotnet test
CI/CDによる継続的な品質保証
GitHub Actions を使用した継続的インテグレーション(CI)により、すべてのプルリクエストとmain
ブランチへのコミットが自動的にテストされます。これによって、コードベースの安定性と信頼性が維持されます。
ドキュメントを活用
docs
フォルダには、以下を含む詳細なガイドとチュートリアルが含まれています。
- エピソード1: ASP.NET Minimal APIのテスト
- エピソード2: Testcontainersの準備
今後のエピソードでは、より高度なテーマを扱います。
主な機能
- ASP.NET Minimal Web API: シンプルかつ高速なAPI構築
- 統合テスト: アプリケーションの信頼性を保証
- Testcontainers: コンテナ化された依存関係を使用したテストの簡素化
- システムデザイン: 拡張性と保守性を考慮した設計
コントリビューションを歓迎
バグ修正、新機能の追加、ドキュメントの改善など、貢献は大歓迎です。 issue を開いたり、プルリクエストを送信してください。
ライセンスについて
このプロジェクトは、MIT License の下でライセンスされています。
謝辞
このリポジトリは、現代的なソフトウェア開発の実践的な例を提供したいという思いから生まれました。貢献者とオープンソースコミュニティに感謝します。