Skip to the content.

開発ドキュメント

環境構築

  1. Docker Desktopをインストールして起動する。
  2. proj-inclusiveのOpenFisca-Japan Githubリポジトリをフォークし、ローカル環境(自分のPC)にクローン(ダウンロード)する。 developブランチ をチェックアウトする。
    フォーク・クローン・プルリクエストの流れ
    リポジトリのクローンはGithub desktop, Source treeなどのツールを使うのが簡単です。
  3. 自分のPC上にクローンしたOpenfisca-Japanのルートディレクトリで、WindowsならPowershell、MacならTerminalを開く。
    以下の手順でフロントエンド・バックエンドの環境構築・起動を行う。
    環境は同時に複数起動できない。
    そのため、環境を変える場合は元の環境を停止してから新しく起動する。

    • フロントエンド・バックエンドを一括で環境構築・起動
      # docker環境を構築・起動
      docker-compose up --build
      # 「Ctrlキー+c」でdocker環境を停止
      
    • バックエンドのみ環境構築・起動
      # docker環境を構築
      docker build ./ -t openfisca_japan
      # docker環境を起動
      docker run -it --rm -p 50000:50000 -v "$(pwd):/app" -u user openfisca_japan
      # $(pwd)はDockerfileが存在するディレクトリの絶対パスで置き換える必要があるかもしれません。
      # docker環境を終了
      exit
      
    • バックエンド(swagger-ui&openfisca)を環境構築・起動
      # docker環境を構築・起動
      docker compose up -d swagger-ui
      # ブラウザでSwagger-UIを表示する
      http://localhost:8080
      # docker環境を停止・破棄
      docker compose down -v
      

      Swagger-UIでopenfiscaの動作確認  

    • フロントエンドのみ環境構築・起動
      # dashboardのディレクトリに移動
      cd dashboard
      # docker環境を構築
      docker build ./ -t openfisca_japan_dashboard
      # docker環境を起動
      docker run -it --rm -p 30000:30000 -v "$(pwd)/src:/app/src" openfisca_japan_dashboard
      # docker環境を終了
      exit
      # 元のディレクトリに戻る
      cd ..
      
    • フロントエンドを起動している場合は http://localhost:30000/ をブラウザに打ち込むとフォームが表示されます。

Dockerを使わない環境構築方法(参考)

GitHub Codespaceを使用する方法

Dockerを自分のPCにインストールする必要はありませんが、操作性はやや悪いです。

これだけで全員同じ環境で開発できるようになるはず。料金は 2022-07-02 現在、無料です。

このリポジトリを GitHub であなたのアカウントへ Fork して、 git clone する
Fork したあなたのリポジトリで、GitHub Codespaces を起動して、Visual Studio Code で開く

Image from Gyazo Image from Gyazo

GitHub Codespaces で動作確認する
make
GitHub Codespaces で API サーバーとして動かす
make serve-local

開発方法

ディレクトリ構成

主なディレクトリ

バックエンド

事前準備

テスト実行

内部計算方法の修正

テスト条件・結果を記載したCSVファイルから、yamlのテストファイルを自動生成する方法

cd tools/make_tests
bash generate.sh

Variableの依存関係を確認する方法

python tools/dependency_graph/dependency.py
# Ubuntuの場合
sudo apt install graphviz
python -m pip install graphviz
sudo apt install xdg-utils

フロントエンド

テスト、linter実行

# dashboardディレクトリに移動
cd dashboard

# linter
npm run lint
npm run pretty:check

# formatter (上記でエラーが出た場合に解消)
npm run pretty

# テスト実行
npm run cy:run

制度追加の流れ(バックエンド、フロントエンド開発の連携)

デプロイ方法

新バージョンのリリース

バックエンド(OpenFisca Python APIサーバー)

自動build, deploy

以下より、バックエンド・フロントエンドともにmain, developブランチが独立した環境で自動ビルド・デプロイされる。

ローカルでdockerイメージを作りcloud runにデプロイする(参考)

フロントエンド

TroubleShooting

Frontend

Backend

https://github.com/pyenv/pyenv