Survey service for client interaction
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.
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>
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.
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 |
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
The API documentation will be available at runtime on the path /swagger-ui.html#
.
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
TODO
- Spring Boot - Enterprise Application Framework
- Maven - Dependency Management
TODO
We use SemVer for versioning. For the versions available, see the tags on this repository.
- Marko Voß - Initial work - mk0
See also the list of contributors who participated in this project.
This project is licensed under the MIT License - see the LICENSE file for details
- Many thanks to foerster technologies for hosting the server during the development
- Many thanks to PurpleBooth for creating the README Template