![]() |
3 years ago | |
---|---|---|
src | 3 years ago | |
.gitignore | 4 years ago | |
README.md | 4 years ago | |
generateClassFromProto.sh | 4 years ago | |
ic_launcher-playstore.png | 4 years ago | |
pom.xml | 4 years ago |
README.md
RCA-CoronaApp-Backend
About • Getting Started • Configure the application • Reference Documentation • License
About
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
Getting Started
Set up your development environment
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
IntelliJ IDEA
Run
- Import changes manually or enable auto import.
- Configure the application
- Edit Configurations ... and set Spring Boot Profile (optional)
- Run 'CovidappApplication'
Debug
- Import changes manually or enable auto import.
- Configure the application
- Edit Configurations ... and set Spring Boot Profile (optional)
- Debug 'CovidappApplication'
Configure the application
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)
Configuration Keys when running it on Azure
- 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
Reference Documentation
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
Guides
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
License
This code is distributed under the Apache License 2.0. See the LICENSE.txt file for more info.