This is a scala/Play protected backend MicroService for the # to Report your Income and Expenses Quarterly (MTD ITSA) service.
This service provides the backend interactions with other backend MicroServices.
Local development requires:
- sbt
- MongoDB available on port 27017
- HMRC Service manager (if using the provided scripts)
- The services in the ITSA_SUBSC_ALL profile (a subset can be used)
See scripts/start
The active port is 9560
The entry page for this service running locally is
http://localhost:9561/report-quarterly/income-and-expenses/sign-up
The entry page for this service on staging (requires HMRC VPN) is
https://www.staging.tax.service.gov.uk/report-quarterly/income-and-expenses/sign-up
There are two built in test sets: test
and it:test
. See build.sbt for details.
Data is stored as key/value in Mongo DB. See json reads/writes implementations (especially tests) for details.
To connect to the mongo db provided by docker (recommended) please use
docker exec -it mongo-db mongosh
Throttling is managed via a record per minute per throttle point, in Mongo. The current value can be viewed at
http://localhost:9560/income-tax-subscription/test-only/throttle?throttle=<throttleId>
and the limit can be set by using the 'copy as cUrl' facility, and use using POST to:
http://localhost:9560/income-tax-subscription/test-only/throttle?throttle=<throttleId>&value=<throttleMaxValue>
This code is open source software licensed under the Apache 2.0 License