本プロジェクトは、Djangoによるポケモン対戦支援用バックエンドAPIです。 フロントエンドとの連携を想定し、型安全・高信頼性を重視した設計になっています。 pokeback-v1で、アーキテクチャ設計の大枠は完成したので、 プロジェクトの進捗を丁寧に記録しながら、v2を完成させていきます。
バックエンドの基盤を構成する必須の機能です。
-
PokeAPIデータ取得コマンド Django管理コマンドにより、PokeAPIからのデータ取得・抽出・加工・保存を自動化します。 ここが最も注力した部分です。
-
API提供(DRF) Django REST Frameworkを用いて、フロントエンド(Next.js)からアクセス可能なAPIを提供します。
-
堅牢性の確保
- 静的型チェック(
mypy) - リトライ処理(
asyncio,aiohttpなどにtry-exceptを徹底) - トランザクション制御(
@transaction.atomic)
- 静的型チェック(
-
ログ出力の徹底 PokeAPI側の仕様変更や不具合を、ロギングによって検知可能にします。
信頼性のため、網羅性のための補助的機能です。
-
取得完了の保証 全ポケモンデータが取得・登録されていることを、スキーマ上で確認できる仕組み。
-
限定フォームの翻訳処理 規則性に基づいた限定フォーム(例: アローラ、ガラル等)の自動翻訳処理。
今後の発展に向けた追加機能です。
-
技・図鑑データの統合 データベースにポケモンの技・図鑑データを追加して、ポケモンデータと統合します。
-
ユーザー管理・カスタム登録 ログイン認証とCRUD機能により、ユーザー独自のポケモン登録・編集を可能にします。
- Python 3.12+
- Django 5.x / Django REST Framework
- PostgreSQL
- aiohttp / asyncio
- mypy / flake8 / isort
- Gunicorn + Nginx (本番環境)
- フロントエンドとはNext.jsを想定しており、別リポジトリで管理予定です。
- データベース設計やモデル構造の詳細は
/docs/schema/に記載予定です。
最新更新:2025/06/12