Install dependencies: npm install
Start Postgres, Redis, stripe-mock, and IPFS daemon
Setup Environments: cp .env.example .env
Run all migrations: npm run db:migrate
Populate all seeds data if needed: npm run db:seed
Run npm run start:dev
, then go to http://localhost:4000/playground
to GraphQL Playground.
Run test cases: npm run test
Run db rollup process; use the same psql command line parameters if modified in .env; (hint -d database
and -U username
, and -w
to read saved password of psqlrc)
(cd ./db; PSQL='psql -h localhost ... -w' bash -xe bin/refresh-lasts.sh )
cp .env.example .env
docker-compose -f docker/docker-compose.yml build
docker-compose -f docker/docker-compose.yml run app npm run db:rollback
docker-compose -f docker/docker-compose.yml run app npm run db:migrate
docker-compose -f docker/docker-compose.yml run app npm run db:seed
docker-compose -f docker/docker-compose.yml up
docker-compose -f docker/docker-compose.yml run app npm run test
docker-compose -f docker/docker-compose.yml run app npm run search:init
npm run db:migration:make <migration-name>
npm run db:seed:make <seeds-name>
, seed files are run sequential so please pre-fix with ordernpm run db:rollback
We use MJML to develop our SendGrid email template.
Please refer to the repo matters-email for details.
To make the login flow testing easier, the login-related mutations have hardcoded input values with respective behaviors in the non-production environment.
see test_mode.md for detail
AWS resources that we need to put in the same VPC