The code to replace the processing logic of Bichard 7.
Packages:
Please follow the instructions in this document: https://dsdmoj.atlassian.net/wiki/spaces/KB/pages/5879988352/Development+Software+Tools
This project has a number of external dependencies that need building in order to run the whole stack. Clone the following repositories and run the specified build command for each of them:
- Clone Docker Images
- Run
SKIP_GOSS=true make build-local
- Run
- Clone Bichard7 Next (Old Bichard)
- Run
make build, or - run
make build-debugif you need to run Bichard in debug mode
- Run
- Clone PNC Emulator
- Run
make build
- Run
- Clone BeanConnect
- Run
SKIP_GOSS=true make build
- Run
- Clone Audit Logging
- Run
make build-api-server build-event-handler-server
- Run
There are two folders inside this very repo (bichard7-next-core) that also need building:
- api
- Navigate to
packages/apiand runnpm run build:docker
- Navigate to
- UI
- Navigate to
packages/uiand runmake build
- Navigate to
- User Service
- Navigate to
packages/user-serviceand runmake build
- Navigate to
Then boot up all the containers you will need in order to run Bichard end to end.
You can do this by navigating to the root directory of bichard7-next-coreand running the following command:
npm run allYou should now have access to the following:
You can also run subsets of the infrastructure using:
npm run bichard-legacywill run old Bichard, ActiveMQ, Postgres, BeanConnect, PNC Emulator, User Service, Auth Proxy and the new UInpm run conductorwill run Conductor, Postgres, Localstack and the workernpm run conductor-no-workerwill run Conductor, Postgres, Localstack and will not run the worker (for development purposes)
You can run the end-to-end tests by navigating to packages/e2e-test and running the following in order to run all tests:
npm run test:nextUIOr to run a specific test, for example test 180 located in the features folder, run the following:
npm run test:nextUI:file -- ./features/180*Finally, to bring all of that infrastructure down again, you can use:
npm run destroyIn order to log in, you will need to get a username and password from the local database.
You can access this db in several ways:
Go to View/Tool Windows/Database
Go to the db that just opened and click on the Plus (+) sign.
Select Data Source, and then PostgreSQL.
On the general tab (opens by default) use the following configuration details:
Host: 127.0.0.1Port: 5432User: bichardPassword: passwordDatabase: bichard
On the Schemas tab, check Bichard -> br7own
Click on Connection/New and select PostgreSQL
Add the following config details (same as the ones listed above for WebStorm):
Host: 127.0.0.1Port: 5432User: bichardPassword: passwordDatabase: bichard
Once done with this configuration, go to the dropdown on the bottom left
and select br7own
Now that you have access to the Local Database, you can go to the users table, pick a user and copy
the email and password information to log into the app. You will then be asked to enter
a verification code, that you can copy from field email_verification_code.
- Use Intellij (VS Code doesn't work for debugging) to open the bichard7-next project
- Build a debug image using
make clean build-debug - Run the legacy infrastructure using
npm run bichard-legacy-debugfrom the Core repo - In IntelliJ select
Run >> Edit Configurationsfrom the menu - Click the
+button in the top left and selectRemote JVM Debug - Set the port to
7777and give the configuration a name - Select
Run >> Debugand then choose the configuration you just created - Click the green bug icon and you should see
Connected to the target VM, address: 'localhost:7777', transport: 'socket'printed out - Set breakpoints then use Bichard and IntelliJ will let you step through the code
- From the root directory
npm ci - Run
npm run build:core - If you need to change
packages/commonyou have two options,buildwill just build the package once orwatchall listen for changes and rebuild. You can either:cd packages/common- And run
npm run build - Or
npm run watch
- And run
- Or from the root of Core:
npm run build -w packages/common- Or,
npm run watch -w packages/common
- Go to the package you want to change and follow that package's README
To run unit tests against the new Bichard:
npm i # If packages not already installed
npm tTo run unit tests against old Bichard (requires the old Bichard stack to be running):
npm i # If packages not already installed
npm run test:bichardTriggers can be excluded for either a specific force or court by adding the trigger code (e.g, TRPR0001) to either data/excluded-trigger-configuration.json for production systems or data/excluded-trigger-configuration.test.json for test environments.
The choice of which excluded-trigger-configuration file to use is decided in src/lib/excludedTriggerConfig.ts using the NODE_ENV environment variable. The test configuration file (excluded-trigger-configuration.test.json) is run if NODE_ENV is set as testing.
| Environment Variable | Description |
|---|---|
| NODE_ENV | The environment node is being run in |
See README in packages/conductor for more information.