Skip to content

fdshg693/FlaskReact

Repository files navigation

画像解析 / 機械学習 / LLM をブラウザから簡単操作する実験プロジェクト

  • Backend: Frontend 配信用 Flask + API 用 Flask / FastAPI
  • Frontend: React (CDN, 直接 JS/JSX) + 静的 HTML
  • 補助 UI: Streamlit アプリ (単機能のテスト・実験用)

📚 ドキュメント

詳細は以下を参照してください。

セットアップ

依存関係のインストール

uv sync

設定ファイル編集

  • API キー
    • .env.example を参考に .env を作成
  • 機械学習周りの設定 YAML
    • ml 配下の *.example を参考に実ファイルを作成
  • VS Code 設定
    • .vscode/*.example を参考に .vscode/*.json を作成

開発時の起動

Frontend + Flask API

uv run src/flask_frontend_entry.py  # Frontend: http://localhost:3000
uv run src/flask_api_entry.py       # API: http://localhost:8000

Frontend + FastAPI API

uv run src/flask_frontend_entry.py  # Frontend: http://localhost:3000
uv run src/fastapi_api_entry.py     # API: http://localhost:8000

Frontend と API は常に別プロセスで起動する。旧 src/flask_entry.py は廃止済み。

環境変数の主な設定

FLASKREACT_FRONTEND_HOST=0.0.0.0
FLASKREACT_FRONTEND_PORT=3000
FLASKREACT_BACKEND_HOST=0.0.0.0
FLASKREACT_BACKEND_PORT=8000
FLASKREACT_API_BASE_URL=http://localhost:8000
FLASKREACT_CORS_ORIGINS=["http://localhost:3000", "http://127.0.0.1:3000"]
  • Frontend は /app-config.js 経由で FLASKREACT_API_BASE_URL を受け取る
  • Flask API と FastAPI API は同じ FLASKREACT_BACKEND_* 設定を共有する

Streamlit アプリ(任意)

uv run streamlit run src/server/streamlit/agent_app.py --server.port=8501

デプロイ方針

  • Frontend 配信プロセスと API プロセスを分離してデプロイする
  • Frontend は src/flask_frontend_entry.py、API は src/flask_api_entry.py または src/fastapi_api_entry.py を使う
  • 逆プロキシを置く場合も、HTML 配信と /api/* を別 upstream に向ける
  • 本番では FLASKREACT_API_BASE_URLFLASKREACT_CORS_ORIGINS をデプロイ先オリジンに合わせて設定する

詳細は docs/project_overview/03_アプリケーション実行方法.mddocs/features/plan/resource/Phase5_実行方法とデプロイ方法の整理.md を参照。

Python 環境 / 主なツール

  • Python 3.13 + uv
  • 型/品質: mypy, ruff, pytest, pre-commit
  • ログ/検証: loguru, pydantic, pathlib
  • LLM/周辺: langchain など

テスト

uv run pytest -q

GitHub Actions / 自動化

  • PR 時に AI レビュー ワークフローを実行可能
  • pre-commit.pre-commit-config.yaml を参照 (uv run pre-commit install)
  • GitHub Copilot 関連設定は .github 配下に格納済み

About

No description, website, or topics provided.

Resources

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors