- Docker
- Node 16.x
- Python 3.8.x
- Yarn (
npm i -g yarn
) - Poetry 1.2
- GraphViz (
apt-get install graphviz libgraphviz-dev
) - Python dev headers (
apt-get install libpython3.8-dev libpython3.9-dev
)
Before anything you will need to install the proper dependencies and build the frontend code:
yarn install
yarn build # or yarn force_build
The application is designed to start up using Docker. You should have the docker
tools available in your shell, particulary docker-compose
.
To start the application, run the following command:
yarn start # or docker-compose --profile all up
To start the services and webapps separately, you will need yarn available:
yarn start_backend # or docker-compose --profile backend up
yarn start_webapps
The application will then be available on http://localhost:3000
The application is structured as a monorepo. Web-application packages are written using typescript, and backend packages are written using python. yarn is used to orchestrate monorepo builds.
yarn clean # clean the app
yarn assets # bundle workers and pre-process assets
yarn build # perform build steps
yarn lint # perform linting
yarn lint_fix # perform linting and correct linting issues
yarn test # run tests
yarn typecheck # perform typechecking
yarn ci # perform the full verification suite