はじめに
自己学習の一環として、FastAPI と SQLModel を使ってローカル動作の Todo アプリ(API)を開発しました。
開発環境の構築から、実装・テストまでといった全体的な内容を、シリーズ記事として解説しました。
本記事は、そのシリーズの目次のような記事です。
PythonでWeb APIを開発したい方、FastAPIやSQLModelに興味のある方の参考になれば幸いです。
シリーズ一覧
- 🛠️FastAPI × SQLModelで作るTodoアプリ①:開発環境とプロジェクトのセットアップ
- 🗄️FastAPI × SQLModelで作るTodoアプリ②:AlembicによるDBマイグレーション入門
- 📝FastAPI × SQLModelで作るTodoアプリ③:アーキテクチャと実装の詳細
- 🧪FastAPI × SQLModelで作るTodoアプリ④:テストの手法と実装
シリーズの概要
シリーズは大まかに下記のテーマで構成されています。
- 開発環境とセットアップ
- DBマイグレーション
- 実装の詳細
- 単体テスト・統合テスト
それでは、この構成と照合しながら、各記事を紹介します。
開発環境とセットアップ
🛠️FastAPI × SQLModelで作るTodoアプリ①:開発環境とプロジェクトのセットアップ
Docker + devcontainer による開発環境構築、使用技術スタック、ライブラリのインストールなどを紹介します。
DBマイグレーション
🗄️FastAPI × SQLModelで作るTodoアプリ②:AlembicによるDBマイグレーション入門
Alembicのインストールと初期化、マイグレーションファイルの作成と適用について紹介しています。
実装の詳細
📝FastAPI × SQLModelで作るTodoアプリ③:アーキテクチャと実装の詳細
クリーンアーキテクチャを意識した構成、各レイヤー(モデル、ユースケース、リポジトリ、ルーター)の実装と依存性注入について解説しています。
単体テスト・統合テスト
🧪FastAPI × SQLModelで作るTodoアプリ④:テストの手法と実装
pytest-mockによるモック、pytest-postgresql を使ったDB分離、APIテスト、依存関係のオーバーライドなど、実践的なテスト手法を紹介します。
おわりに
Todoアプリの開発について、初期段階からテストまで広範にカバーした内容となっています。まとまりの良いテーマごとで独立的な記事にしているので、一部だけの参照もしやすいかと思います。
Todoアプリとしては一旦区切りを付けましたが、追加したい内容や記事を書いていて気になった点もあったりするので、今後も細々と開発を続けようかなぁと思っていたりします。
そういった開発の中で記事にできるようなことがあれば、このシリーズに追加しようかと思いますので、その際はぜひご覧ください!
これらの記事がお役に立てば幸いです。