Skip to content

evrentan/qr-code-generator-backend

Repository files navigation

QR Code Generator BackEnd

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.

Table of Contents

  1. How to Contribute
  2. Requirements
  3. Coding Standards
  4. Version Control Standards
  5. Running the Application Locally
  6. Running the Application in Docker
  7. Run Actuator
  8. Run Swagger UI
  9. Extra Notes
  10. Copyright

How to Contribute

For the contributor covenant to this project, please check the Code of Conduct file.

Contributor Covenant

Credits

Please check the Contributors List to see who makes this open-source alive.

Requirements

For building and running the application belows are required;

Coding Standards

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.

Version Control Standards

Below version control standards should be followed within the project;

Running the Application Locally

Application can be run with QrCodeGeneratorBackendApplication class.

Alternatively you can use the Spring Boot Gradle plugin like so:

gradle clean build
gradle bootRun

Running the Application in Docker

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.

Run Actuator

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.

Run Swagger UI

Swagger UI can be reached from local url for Swagger UI and production url for Swagger UI.

Extra Notes

  • 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.

Copyright

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.