Skip to content

Latest commit

 

History

History
56 lines (40 loc) · 2.41 KB

DESIGN.md

File metadata and controls

56 lines (40 loc) · 2.41 KB

terra-app-manager Design

This repo is responsible for housing the following information:

  • a Spring-boot based java api service/,
  • its associated client/,
  • integration/ tests, and
  • various scripts/ to support various repo-operations.

service/

The Application's service is built and configured from bio.terra.appmanager.App.

See terra-common-lib for the following additionally configured integrations:

Local service/-directory structure is composed of this structure:

  • config/: type safe configs
  • controller/: public facing api controllers
  • dao/: ORM mapping from the configured database to bio.terra.appmanager.model
  • iam/: remote iam setup and config
  • model/: the service's internal model
  • service/: internal service objects containing the business logic

Service api interfaces are generated via gradle's processing of the openapi.yml document

For more information about the service/ design, please refer to docs/DESIGN-service.md

client/

Located in the client/ directory, the code for this package is entirely generated by gradle and based on the same openapi.yml file used to generate the service/ api-endpoints above.

integration/

Integration tests are designed to be run using the terra-test-runner. For more information about using the terra-test-runner infrastructure, please refer to that repo.

scripts/

Please see ./scripts/README.md for more information about scripts.