diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index c448410..c4a1ba2 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -1,7 +1,7 @@ --- name: "Bug Report" about: "Report a bug or unexpected behavior in the Spring Boot microservice" -title: "bug(scope) - Short description of the issue" +title: "bug(scope) - short description of the issue" labels: "bug" assignees: "" diff --git a/.github/ISSUE_TEMPLATE/document_improvement.md b/.github/ISSUE_TEMPLATE/document_improvement.md index 6a293e8..c36edd4 100644 --- a/.github/ISSUE_TEMPLATE/document_improvement.md +++ b/.github/ISSUE_TEMPLATE/document_improvement.md @@ -1,7 +1,7 @@ --- name: "Documentation Improvement" about: "Suggest an improvement or correction to the project's documentation" -title: "docs(scope) - Short description of the documentation issue" +title: "docs(scope) - short description of the documentation issue" labels: "documentation" assignees: "" diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index e9cbd7b..5d16c57 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -10,7 +10,7 @@ assignees: "" ## Description ## Use Case @@ -22,7 +22,7 @@ This can be anything from CI tool integration, Security feature (use Security-De ## Benefits -### Example +## Example ## Additional Information diff --git a/.github/ISSUE_TEMPLATE/generic_report.md b/.github/ISSUE_TEMPLATE/generic_report.md new file mode 100644 index 0000000..e4a3786 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/generic_report.md @@ -0,0 +1,20 @@ +--- +name: "Generic Report" +about: "Request a change that does not classify with other issue types" +title: "chore(scope) - brief description of the requested change" +labels: "good first issue" +assignees: "" + +--- + +## Description + + +## Use Case + + +## Additional Information + diff --git a/.github/ISSUE_TEMPLATE/security_vulnerability_report.md b/.github/ISSUE_TEMPLATE/security_vulnerability_report.md index a2d522a..cbed1be 100644 --- a/.github/ISSUE_TEMPLATE/security_vulnerability_report.md +++ b/.github/ISSUE_TEMPLATE/security_vulnerability_report.md @@ -1,7 +1,7 @@ --- name: "Security Vulnerability Report" about: "Report a potential security vulnerability in the Spring Boot microservice repository" -title: "security(scope) - Brief description of the vulnerability" +title: "security(scope) - brief description of the vulnerability" labels: "vulnerabilities" assignees: "" @@ -23,7 +23,7 @@ assignees: "" ## Suggested Mitigation or Fix -### CVSS Score (Optional) +## CVSS Score (Optional) ## Additional Information diff --git a/.github/PULL_REQUEST_TEMPLATE/bug_pr_template.md b/.github/PULL_REQUEST_TEMPLATE/bug_pr_template.md index 446f20d..89e0318 100644 --- a/.github/PULL_REQUEST_TEMPLATE/bug_pr_template.md +++ b/.github/PULL_REQUEST_TEMPLATE/bug_pr_template.md @@ -2,7 +2,7 @@ ### Type of bug fix @@ -23,29 +23,29 @@ Please describe the tests that you ran to verify your changes. Provide instructi - Test case 1 (please describe) - Test case 2 (please describe) -Please attach relevant evidences supporting the test execution. +Please attach relevant shreds of evidence supporting the test execution. --> ## Checklist for Author - [ ] The PR follows below contribution conventions - - [ ] PR title follows [conventional commits](https://docs.cocogitto.io/guide/commit.html) format commit_type( + - [ ] PR title follows [conventional commits](https://docs.cocogitto.io/guide/commit.html) format commit_type( scope): issue_reference message - - [ ] PR commits follows [conventional commits](https://docs.cocogitto.io/guide/commit.html) format commit_type( + - [ ] PR commits follow [conventional commits](https://docs.cocogitto.io/guide/commit.html) format commit_type( scope): issue_reference message - - [ ] PR branch follows convention of format [commit_type]-[issue-reference]-[brief-description] -- [ ] I have tested the bug fix thoroughly and attached test evidences confirming changes works as expected + - [ ] PR branch follows the convention of format [commit_type]-[issue-reference]-[brief-description] +- [ ] I have tested the bug fix thoroughly and attached test shreds of evidence confirming changes work as expected - [ ] I have updated the documentation to reflect bug fixes (if applicable) - [ ] My changes generate no new warnings or errors - [ ] Checks for unused files - [ ] Checks for changes not related to this issue -## Additional notes for reviewer +## Additional notes for the reviewer ## Checklist for Reviewer - [ ] The PR follows contribution guidelines -- [ ] I have reviewed the author checklist +- [ ] I have reviewed the author's checklist - [ ] I have tested the changes locally are working as expected diff --git a/.github/PULL_REQUEST_TEMPLATE/document_pr_template.md b/.github/PULL_REQUEST_TEMPLATE/document_pr_template.md index 72222e8..287f589 100644 --- a/.github/PULL_REQUEST_TEMPLATE/document_pr_template.md +++ b/.github/PULL_REQUEST_TEMPLATE/document_pr_template.md @@ -2,7 +2,7 @@ ### Affected Documentation @@ -20,7 +20,7 @@ Affected Documentation: ## How Has This Been Tested? -Please describe how the changes to documentation were reviewed. If applicable, include instructions on how to view or +Please describe how the changes to the documentation were reviewed. If applicable, include instructions on how to view or test the updated documentation. - [ ] Documentation preview checked in markdown renderer @@ -35,19 +35,19 @@ Test Configuration: ## Checklist for Author - [ ] The PR follows below contribution conventions - - [ ] PR title follows [conventional commits](https://docs.cocogitto.io/guide/commit.html) format commit_type( + - [ ] PR title follows [conventional commits](https://docs.cocogitto.io/guide/commit.html) format commit_type( scope): issue_reference message - - [ ] PR commits follows [conventional commits](https://docs.cocogitto.io/guide/commit.html) format commit_type( + - [ ] PR commits follow [conventional commits](https://docs.cocogitto.io/guide/commit.html) format commit_type( scope): issue_reference message - - [ ] PR branch follows convention of format [commit_type]-[issue-reference]-[brief-description] + - [ ] PR branch follows the convention of format [commit_type]-[issue-reference]-[brief-description] - [ ] My code follows the style guidelines of this project - [ ] I have performed a self-review of my documentation to reflect the code changes, spelling and is clearly accurate -- [ ] I have tested the documentation for correctness and if required added evidences(e.g., links, images) +- [ ] I have tested the documentation for correctness and if required added shreds of evidence (e.g., links, images) - [ ] My changes generate no new warnings or errors - [ ] Checks for unused files - [ ] Checks for changes not related to this issue -## Additional notes for reviewer +## Additional notes for the reviewer diff --git a/.github/PULL_REQUEST_TEMPLATE/feature_pr_template.md b/.github/PULL_REQUEST_TEMPLATE/feature_pr_template.md index 5bb419c..8768c84 100644 --- a/.github/PULL_REQUEST_TEMPLATE/feature_pr_template.md +++ b/.github/PULL_REQUEST_TEMPLATE/feature_pr_template.md @@ -2,7 +2,7 @@ ### Type of feature request @@ -25,29 +25,29 @@ Please describe the tests that you ran to verify your changes. - Test case 1 (please describe) - Test case 2 (please describe) -Please attach relevant evidences supporting the test execution. +Please attach relevant shreds of evidence supporting the test execution. --> ## Checklist for Author - [ ] The PR follows below contribution conventions - - [ ] PR title follows [conventional commits](https://docs.cocogitto.io/guide/commit.html) format commit_type( + - [ ] PR title follows [conventional commits](https://docs.cocogitto.io/guide/commit.html) format commit_type( scope): issue_reference message - - [ ] PR commits follows [conventional commits](https://docs.cocogitto.io/guide/commit.html) format commit_type( + - [ ] PR commits follow [conventional commits](https://docs.cocogitto.io/guide/commit.html) format commit_type( scope): issue_reference message - - [ ] PR branch follows convention of format [commit_type]-[issue-reference]-[brief-description] -- [ ] I have tested the enhancement thoroughly and attached test evidences confirming changes works as expected + - [ ] PR branch follows the convention of format [commit_type]-[issue-reference]-[brief-description] +- [ ] I have tested the enhancement thoroughly and attached test shreds of evidence confirming changes work as expected - [ ] I have updated the documentation to reflect enhancement (if applicable) - [ ] My changes generate no new warnings or errors and added tests that prove my feature PR is effective - [ ] Checks for unused files - [ ] Checks for changes not related to this issue -## Additional notes for reviewer +## Additional notes for the reviewer ## Checklist for Reviewer - [ ] The PR follows contribution guidelines -- [ ] I have reviewed the author checklist +- [ ] I have reviewed the author's checklist - [ ] I have tested the changes locally are working as expected diff --git a/.github/PULL_REQUEST_TEMPLATE/generic_pr_template.md b/.github/PULL_REQUEST_TEMPLATE/generic_pr_template.md index d4644ea..efa378d 100644 --- a/.github/PULL_REQUEST_TEMPLATE/generic_pr_template.md +++ b/.github/PULL_REQUEST_TEMPLATE/generic_pr_template.md @@ -2,7 +2,7 @@ ### Type of Change @@ -17,29 +17,29 @@ Please describe the tests that you ran to verify your changes. - Test case 1 (please describe) - Test case 2 (please describe) -Please attach relevant evidences supporting the test execution. +Please attach relevant shreds of evidence supporting the test execution. --> ## Checklist for Author - [ ] The PR follows below contribution conventions - - [ ] PR title follows [conventional commits](https://docs.cocogitto.io/guide/commit.html) format commit_type( + - [ ] PR title follows [conventional commits](https://docs.cocogitto.io/guide/commit.html) format commit_type( scope): issue_reference message - - [ ] PR commits follows [conventional commits](https://docs.cocogitto.io/guide/commit.html) format commit_type( + - [ ] PR commits follow [conventional commits](https://docs.cocogitto.io/guide/commit.html) format commit_type( scope): issue_reference message - - [ ] PR branch follows convention of format [commit_type]-[issue-reference]-[brief-description] -- [ ] I have tested the changes thoroughly and attached test evidences confirming changes works as expected + - [ ] PR branch follows the convention of format [commit_type]-[issue-reference]-[brief-description] +- [ ] I have tested the changes thoroughly and attached test shreds of evidence confirming changes works as expected - [ ] I have updated the documentation to reflect changes (if applicable) - [ ] My changes generate no new warnings or errors - [ ] Checks for unused files - [ ] Checks for changes not related to this issue -## Additional notes for reviewer +## Additional notes for the reviewer ## Checklist for Reviewer - [ ] The PR follows contribution guidelines -- [ ] I have reviewed the author checklist +- [ ] I have reviewed the author's checklist - [ ] I have tested the changes locally are working as expected diff --git a/.github/PULL_REQUEST_TEMPLATE/security_vulnerability_pr_template.md b/.github/PULL_REQUEST_TEMPLATE/security_vulnerability_pr_template.md index 406a013..2cfc692 100644 --- a/.github/PULL_REQUEST_TEMPLATE/security_vulnerability_pr_template.md +++ b/.github/PULL_REQUEST_TEMPLATE/security_vulnerability_pr_template.md @@ -2,7 +2,7 @@ ### Type of Security Vulnerability @@ -24,30 +24,30 @@ Please describe the tests that you ran to verify your changes. Provide instructi - Test case 1 (please describe) - Test case 2 (please describe) -Please attach relevant evidences supporting the test execution. +Please attach relevant shreds of evidence supporting the test execution. --> ## Checklist for Author - [ ] The PR follows below contribution conventions - - [ ] PR title follows [conventional commits](https://docs.cocogitto.io/guide/commit.html) format commit_type( + - [ ] PR title follows [conventional commits](https://docs.cocogitto.io/guide/commit.html) format commit_type( scope): issue_reference message - - [ ] PR commits follows [conventional commits](https://docs.cocogitto.io/guide/commit.html) format commit_type( + - [ ] PR commits follow [conventional commits](https://docs.cocogitto.io/guide/commit.html) format commit_type( scope): issue_reference message - - [ ] PR branch follows convention of format [commit_type]-[issue-reference]-[brief-description] -- [ ] I have tested the security vulnerability thoroughly and attached test evidences confirming changes works as + - [ ] PR branch follows the convention of format [commit_type]-[issue-reference]-[brief-description] +- [ ] I have tested the security vulnerability thoroughly and attached test shreds of evidence confirming changes work as expected - [ ] I have updated the documentation to reflect bug fixes (if applicable) - [ ] My changes generate no new warnings or errors - [ ] Checks for unused files - [ ] Checks for changes not related to this issue -## Additional notes for reviewer +## Additional notes for the eviewer ## Checklist for Reviewer - [ ] The PR follows contribution guidelines -- [ ] I have reviewed the author checklist +- [ ] I have reviewed the author's checklist - [ ] I have tested the changes locally are working as expected diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index e4483cf..2dcbc16 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -2,7 +2,7 @@ Click the **Preview** tab and select a relevant PR template. -Please use generic template for other types of changes. +Please use a generic template for other types of changes. - [Feature](?expand=1&template=feature_pr_template.md) - [Bug](?expand=1&template=bug_pr_template.md) diff --git a/README.md b/README.md index be99400..82b772c 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,7 @@ --- - [Introduction](#introduction) +- [Built With](#built-with) - [Prerequisites](#prerequisites) - [Installation and Getting Started](#installation-and-Getting-Started) - [Microservice Structure](#microservice-structure) @@ -53,6 +54,11 @@ In the sections below, I'll walk you through the various integrations included i Currently, the microservice exposes a simple GET API that accepts a company reference as a path parameter. It then queries the Companies House API to retrieve and return detailed company information. +### Built With + +- [Spring Boot](https://spring.io/projects/spring-boot) - The REST framework used +- [GRADLE](https://gradle.org/) - Dependency Management + ### Prerequisites - You must have >= Java 21 Installed. You can use [SDKMAN](https://sdkman.io/install) for maintaining different JDK's in your system. @@ -552,8 +558,8 @@ In this section we are going to explore [OWASP ZAP](https://www.zaproxy.org/docs -t [TARGET_REST_API] -g gen.conf -r pentest-report.html ``` - | Parameter | Description | - |-----------------|:---------------------------------------- | + | Parameter | Description | + |-----------------|:-----------------------------------------| | $(pwd) | Directory where report will be generated | | zap-baseline.py | Zap's python script | | -t [TARGET_URL] | URL to be Pen Tested | @@ -1053,30 +1059,33 @@ Cloud Run is available in below two flavours: - Cloud Run Fully Managed - Cloud Run on Anthos, which supports both Google Cloud and on‐premises environments. -### Built With - -- [Spring Boot](https://spring.io/projects/spring-boot) - The REST framework - used -- [GRADLE](https://gradle.org/) - Dependency Management - ### What to Expect Next! -As the world of software engineering is evolving so we do.
-Listing down some of the exciting features am going to work on and update the GitHub in coming days, they are: +As software engineering continues to evolve, we do too. + +All planned tasks for this repository are tracked in the [GitHub Issues](https://github.com/abhisheksr01/spring-boot-microservice-best-practices/issues) section. -- GitHub Actions -- Chaos Monkey -- Hystrix -- CORS (Cross-Origin) +If you'd like to propose new work or enhancements for this repository, please create a [New Issue](https://github.com/abhisheksr01/spring-boot-microservice-best-practices/issues/new/choose) using the appropriate issue type. ### Versioning -We use [SemVer](http://semver.org/) for versioning. For the versions -available, see the -[tags on this repository](https://github.com/your/project/tags). +We utilize [Cocogitto](https://github.com/cocogitto/cocogitto) to automate the process of creating [Semantic SemVer](http://semver.org/) GitHub releases for this repository. -### License +For information on the latest [releases](https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases), please visit the Releases section of the repository. + +The release process is automated through GitHub Actions (GHA CI), following [Cocogitto's conventional commit types](https://docs.cocogitto.io/guide/commit.html). -This project is licensed under the MIT License - see the -[LICENSE.md](LICENSE.md) file for details +
+Click here for details on how the releases are automated in this repository. + +#### GHA CI Release Process +- When a commit is made with a conventional commit type, the GHA CI pipeline is triggered. +- After all the validations the **docker-build-push** job runs the cog-bump step, which checks whether a version bump is necessary. If a bump is needed, it calculates the new version based on the conventional commit type. +- During this process, we pass a `dry-run: true` argument to the **cog-bump** step to only calculate (but not apply) the version bump. +- The CI pipeline then builds the Docker image with the new version and tests the changes. +- Once the changes are verified, the **create-release** job publishes new tags with bumped current version and a GitHub release is created. +
+ +### License +This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details