フロントエンド(Typescript w/ React + Redux + MaterialUI), サーバ(Python w/ AioHTTP)なプロジェクトのBoilerplate
typescript-python-boilerplate
とtypescript_python_boilerplate
を自分のプロジェクト名に置換する。
以下のポリシーで開発を進める。
- ライブラリは、"License >>> それしかないか/de factoか? > コードがシンプルか? >> 趣味 > 開発の活発さ/枯れ具合"の優先度で検討する。
- フロントエンドの開発は、Hot module reloadingは使わない。できるだけProduction環境と近いもので開発する
- async/await用のmiddleware(=redux-thunk, redux-saga)は使わず、ActionDispatcherで対応する
- コードとテストのファイルは1:1で対応させる
あくまで、原則
おすすめ
% make run
Pythonがなければpyenvで調達
$ yarn
$ pipenv --python 3.7
$ pipenv install -e '.[test]'
yarn run watch
をしつつtypescript-python-boilerplate --debug run
でサーバを実行
javascript
% yarn run test-watch
python
% pipenv shell
% ptw
のようにしてWatchモードにしながらコードとテストを書くのが快適だと思う。
% make run
するとWebサーバと、ビルドプロセスが立ち上がるのでローカルのコードを書き換えれば随時Watchされてサーバが再起動 & フロントエンドもリビルドされる。
あると便利 Chrome Web Storeからインストールできる
- setup.pyの
install_requires
,extras_require
に追加 pipenv lock && pipenv install --dev
普通にyarn install [-D]
こっちに書いた。