OneTrackingFramework / survey-service

Survey service for client interaction

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Maven Package & Integration Tests

Survey Service

Survey service for client interaction

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

You need to have Maven installed on your machine. You will also need to have a SendGrid account setup with the desired sender authentication.

This project depends on the survey-commons project. Therefore you need to create an access token in order to be able to access the package. You will also need to setup maven to use this access token by creating or modifying your settings.xml, which is usually located at <USER_HOME>/.m2. Add the following server-element to the settings.xml.

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                      http://maven.apache.org/xsd/settings-1.0.0.xsd">

  <servers>
    <server>
      <id>com.github.OneTrackingFramework.commons-boot</id>
      <username>GITHUB_USERID</username>
      <password>GITHUB_TOKEN</password>
    </server>
  </servers>

</settings>

Installing

To build the executable JAR, execute the following command in the root directory of this project.

mvn clean package

This will create the executable JAR file in the target directory, which can be used for executing the server application. Copy this JAR file to the desired location.

In order to use customized configuration, please refer to the official documentation. You can place a file named application.properties right next to this JAR file.

Configuration

Next to the common server properties and logging properties, which can be placed on the customized configuration, the application uses the following configuration properties.

Property Description Example
app.token.secret The secret to use for JWT signature validation. This secret must match the secret specified on the survey-mgmt-service. -
app.token.issuer The issuer of the JWT token. The issuer must match the issuer specified on the survey-mgmt-service. -
logging.level.one.tracking.framework Setup of the LOG level for the entire service. INFO | DEBUG | WARN | ERROR
app.logging.request.enable Enable/disable request logging. true | false
app.logging.request.include.queryString Include query request parameters in request logging. true | false
app.logging.request.include.clientInfo Include client information in request logging. true | false
app.logging.request.include.headers Include HTTP headers in request logging. true | false
app.logging.request.include.payload Include HTTP payload in request logging. true | false
app.logging.request.include.payloadLength How many characters to include in HTTP payload logging. 1000

Database

This service is currently utilizing a H2 in-memory database or a MySql database. The MySQL database will be used by default. You can perform the switch by Maven profiles: mysql, h2

API Documentation

The API documentation will be available at runtime on the path /swagger-ui.html#.

Running the tests

The unit tests will be performed on the maven package build automatically. In order to perform the integration tests, execute the following command.

mvn clean integration-test

Deployment

TODO

Built With

Contributing

TODO

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

  • Marko Voß - Initial work - mk0

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE file for details

Acknowledgments

About

Survey service for client interaction

License:MIT License


Languages

Language:Java 100.0%