Topo is inactive now - we were exploring ideas but never quite found the right application. An idea for another time maybe :-)
Topo is a reference implementation of an automated architecture repository - aggregating curated and live information about an organisation's software systems - what they are, how they are grouped together, and how they relate to each other.
yarn docker-local
The topo GraphQL server is available on http://localhost:4000 The neo4j browser is available on http://localhost:7474/browser/
A second instance of neo4j is started, and used when running integration tests (it starts on :7473, but is not exposed). This is done because NEO doesn't support the concept of multiple databases on the same server and we want to setup and tear down the database components on each test run.
To install follow this page.
Then run tilt up
, ctrl + c
in the terminal then tilt down
to stop.
Use yarn test
to run unit tests. yarn test-int
will run the integration tests.
yarn start
# or
yarn start-prod
To get a list of yarn tasks
yarn run
We include a Copyright notice on the source files located in the src
directory.
yarn copyright # see what needs fixing
yarn copyright-fix # to auto fix copyright notice
Use docker-compose
directly to run local dev containers.
yarn docker-local
Code linter via tslint. (TODO: Move to ESLint)
yarn lint
yarn lint-fix
Prettier Code Formatter
yarn prettier
We document our decisions in the doc/adr/ directory. Use adr-tools to automate creating a new decision register file for your decision.
Once you have the tool installed to make a new ADR simply run..
adr new Title of New Decision
Topo is released under Apache 2.0 License
Copyright 2018-20 ThoughtWorks, Inc.