About • Getting Started • Configure the application • Reference Documentation • License
The RCA-CoronaApp-Backend is the backend for the [Stopp Corona] (https://github.com/austrianredcross/stopp-corona-android) and [Stopp Corona iOS App] (https://github.com/austrianredcross/stopp-corona-ios) applications and it is based on the Exposure Notification Reference Server: https://github.com/google/exposure-notifications-server
To run this functions locally with Java, install the following software:
- Java Developer Kit (JDK), version 8
- Apache Maven, version 3.0 or higher
- (optional) IntelliJ IDEA
- Import changes manually or enable auto import.
- Configure the application
- Edit Configurations ... and set Spring Boot Profile (optional)
- Run 'CovidappApplication'
- Import changes manually or enable auto import.
- Configure the application
- Edit Configurations ... and set Spring Boot Profile (optional)
- Debug 'CovidappApplication'
The application can be configured as any Spring boot application:
- in the environment
- in specific application- properties or yaml file
- ... please check the documentation [Externalized Configuration] (https://docs.spring.io/spring-boot/docs/2.3.0.RELEASE/reference/html/spring-boot-features.html#boot-features-external-config)
- APPINSIGHTS_INSTRUMENTATIONKEY : instrumentation key used for logging with Azure App Insights
- APPLICATION_EXPORT_BLOBSTORE-TYPE : Type of the blobstore used by the application (azure-cloud-storage | filesystem | none)
- SPRING_DATASOURCE_URL : url of the database
- SPRING_DATASOURCE_USERNAME : database user name
- SPRING_DATASOURCE_PASSWORD : database password
- EXTERNAL_PERSONAL_DATA_STORAGE_URL: the url of the tan validation specific
- EXTERNAL_PERSONAL_DATA_STORAGE_AUTHORIZATION_KEY_NAME :autorization header
- EXTERNAL_PERSONAL_DATA_STORAGE_AUTHORIZATION_KEY_VALUE : value of teh authoriztaionheader
- EXTERNAL_PERSONAL_DATA_STORAGE_SHA256_KEY : sha key used for hashing must be the same as the one used by the service, otherwise it won't match
For further reference, please consider the following sections:
- Official Apache Maven documentation
- Spring Boot Maven Plugin Reference Guide
- Create an OCI image
- Spring Boot Actuator
- Spring Data JPA
- Spring Security
- Spring Web
- Validation
- Spring cache abstraction
- Spring Configuration Processor
The following guides illustrate how to use some features concretely:
- Building a RESTful Web Service with Spring Boot Actuator
- Accessing Data with JPA
- Securing a Web Application
- Building a RESTful Web Service
- Serving Web Content with Spring MVC
- Building REST services with Spring
- Caching Data with Spring
This code is distributed under the Apache License 2.0. See the LICENSE.txt file for more info.