# Informazioni 

### Introduzione
L'applicazione utilizza la tecnologia Spring Boot per la gestione dei
web services REST, delle entit&agrave; JPA, SpringFox per la gestione delle
pagine Swagger, Keycloak Admin Client per l'interazione con keycloak e RestEasy per la gestione delle API REST.

* [Spring Boot Maven Plugin Reference Guide](https://docs.spring.io/spring-boot/docs/2.5.0-SNAPSHOT/maven-plugin/reference/html/)
* [Spring Data JPA](https://docs.spring.io/spring-boot/docs/2.4.5/reference/htmlsingle/#boot-features-jpa-and-spring-data)
* [Keycloak Client Admin](https://www.keycloak.org)
* [SpringFox](https://springfox.github.io/springfox/)
* [RestEasy](https://resteasy.github.io/)

### Uso 
Questa App può essere utilizzata come webApplication di Tomcat. &egrave; stata testata con la versione 9.0.45 di Tomcat e Java 11. 
Per il test, può essere utilizzato il bootstrap di Spring Boot. 

Per l'uso nello sviluppo di RDS, questa webApplication mette a disposizione 2 API Rest:
1. Post ("/userFromToken") - prende in input un token JWT, controlla che sia valido e procede con la creazione di un utente nel DB prendendo le informazioni dal token.
2. Post ("/user/getusercommunities") - prende in input un token JWT, controlla che il token sia valido e che l'utente sia un amministratore, e restituisce una lista di User contenente tutti gli utenti iscritti nella sua comunit&agrave;. La comunità è quella indicata nel token. Non &grave; prevista la ricerca su pi&ugrave; comunit&agrave;

La app include anche un form per la registrazione degli utenti attraverso un'interfaccia WEB ma non &egrave; completa. 
La documentazione &egrave; disponibile tramite Swagger.
La maggior parte delle informazioni di configurazione, comprese quelle per l'accesso al DB e al server Keycloak sono all'interno del file application.properties.

# Licenza
 Il software &egrave; rilasciato cos&igrave; come &egrave;, senza nessuna garanzia di funzionamento, secondo la licenza Apache 2.0.
