A QR Code Generator BackEnd application implemented in Java 17 using Zxing barcode processing library.
QR Code Generator Backend serves on a Heroku instance in production from the QR Code Generator Backend End-Point.
- How to Contribute
- Requirements
- Coding Standards
- Version Control Standards
- Running the Application Locally
- Running the Application in Docker
- Run Actuator
- Run Swagger UI
- Extra Notes
- Copyright
For the contributor covenant to this project, please check the Code of Conduct file.
Please check the Contributors List to see who makes this open-source alive.
For building and running the application belows are required;
Below coding standards should be followed within the project;
- Javadoc should be written for each class & method. @author, @since annotations should be added while adding or updating the javadoc
- General code structure should be followed while adding or refactoring classes.
Below version control standards should be followed within the project;
- The default branch is staging branch.
- Feature enhancements or defect fixes should not be committed to the default branch, they should be coded in feature or bug branches.
- Issues should be created for each feature or fix in the QR Code Generator Workspace GitHub Repository Project.
- Pull request (PR) should be created for each feature/bug branch to staging branch.
- While creating a PR "[Feature]: ", "[Bug]: " or "[Doc]: " prefix should be used to identify the PR type.
- PRs should be linked with a valid issue in the QR Code Generator Workspace GitHub Repository Project.
- If validations are passed in the staging branch, then a merge branch request is created with "merge branch" label & a linked PR to the main branch.
Application can be run with QrCodeGeneratorBackendApplication class.
Alternatively you can use the Spring Boot Gradle plugin like so:
gradle clean build
gradle bootRun
Application can be run in Docker. Dockerfile in the project root folder is the configuration file for Docker build.
docker build -t qr-code-generator:1.0.0 --build-arg APP_JAR=qr-code-generator-backend-1.0.0.jar .
docker run -p 8081:8081 --name QrCodeGenerator qr-code-generator:1.0.0
Note that you can specify the name of the APP_JAR argument based on the jar file that is generated by gradle. If the argument is not provided, it will pick the default name specified in the Dockerfile.
Spring Boot Actuator can be reached from local url for Actuator.
Only health and caches endpoints are enabled by default. Configuration can be updated within the "actuator" section of the related application.properties file.
Swagger UI can be reached from local url for Swagger UI and production url for Swagger UI.
- The module can be booted with Spring Cloud Config Server or directly within the application. In order to boot the project within itself, enable the properties in application.properties file and disable bootstrap.properties file.
GNU General Public License v3.0 Permissions of this strong copyleft license are conditioned on making available complete source code of licensed works and modifications, which include larger works using a licensed work, under the same license. Copyright and license notices must be preserved. Contributors provide an express grant of patent rights. Please check the LICENSE file for more details.