F1 (Java) Story 01: Set up Project and Workflow Service Framework

Description

Establish the PWS as a Spring Boot application in a Maven multi-module project structure. Incorporate linters, checkers, and validations to maintain coding standards across the repository. Create a comprehensive README file with instructions on local environment setup, running and debugging the application.

Acceptance Criteria

  • The Spring Boot application is successfully created.
  • Separate Maven modules are created for common and CSP-specific code.
  • Liveness and readiness probe endpoints have been established.
  • A specific "info" endpoint, common to all services in OSDU, is established.
  • Logging is appropriately configured.
  • Linter and checker tools, consistent with those used for other OSDU core services, are successfully integrated into the project.
  • A comprehensive README file including sections on "Installation", "Running Tests", and "Running the Application" is available, enabling the application to run and debug locally.

Testing Scenarios

  • Confirm that the application launches successfully and liveness, readiness, and "info" endpoints deliver the expected outputs.
  • Validate the effectiveness of the linters and checkers through code commits.
  • Verify that the application can be deployed, tests can be run and the application can be debugged locally following the instructions in the README file.

Technical Notes

  • Consult available Spring Boot, Maven, Checkstyle, PMD, SpotBugs documentation for guidance and best practices.
  • The "info" endpoint should be implemented in compliance with existing OSDU ADR.
  • Utilize OSDU Java libraries, such as the "os-core-common" for common code and "os-core-lib-aws" for AWS CSP specific code. This aligns with how other OSDU core services use them to reduce boilerplate.
  • Additional research into implementing Git hooks for the project is recommended.
Edited by Rostislav Dublin (EPAM)