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)