- Nodejs 10.2.1
- Python 3.6.5
- express (nodejs)
- django (python)
- Cloudinary
- Postgres
- heroku connect
- Sendgrid
- GRAPHQL_URL=https://[APP-NAME].herokuapp.com/graphql
- DISABLE_COLLECTSTATIC=1
- https://github.com/heroku/heroku-buildpack-nodejs
- https://github.com/heroku/heroku-buildpack-python
- https://github.com/danp/heroku-buildpack-runit
web: bin/runsvdir-dyno
django: gunicorn -c tb_app/config.py tb_app.wsgi --bind 127.0.0.1:8888
node: npm run server
バックエンドはDjango GraphQLで
フロントエンドはReact/Redux/SSR(expressjs)を利用したアプリケーション。
/graphql
ディレクトリはhttp-proxy-middleware
を利用して
djangoアプリケーションのサーバーにアクセスしている。
const app = express();
app.use(
proxy("/graphql", {
target: "http://localhost:" + DJANGO_PORT
})
);
.env.production
ファイルを作成し、GRAPHQL_URL=https://[APP-NAME].herokuapp.com/graphql
を書き込む。$ npm run build
でビルドする。
- 基本的には
$ npm run start
で開発を進める。 - SSRで確認する場合は、
$ npm run dev_build
でビルドする。 - サーバーは
$ npm run dev_server
- djangoの方もサーバーを立てる
$ make server
- 開発環境はSSLで構築されているので、sslのキーを発行する。
openssl req -x509 -out localhost.crt -keyout localhost.key -newkey rsa:2048 -nodes -sha256 -subj '/CN=localhost' -extensions EXT -config <( printf "[dn]\nCN=localhost\n[req]\ndistinguished_name = dn\n[EXT]\nsubjectAltName=DNS:localhost\nkeyUsage=digitalSignature\nextendedKeyUsage=serverAuth")
- Salesforceでカスタムオブジェクト、Space、Newsを作成する。
- heroku buttonでデプロイ後
- heroku run bash --app アプリ名
- addonのheroku-connectを追加してContact、Space、Newsをmappingする。
- python manage.py migrate account_token
$ heroku run bash --app アプリ名
$ make init
/register
にアクセスして、
Emailにsample@example.com
を入力してパスワード登録する。
※新規Emailの登録は不可です。