Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nicola-residori/uni42
Spring Boot REST APIs - exercise for APIs interactions
https://github.com/nicola-residori/uni42
api authentication circuit-breaker h2-database maven rest rest-api restapi spring spring-boot springboot timeout tutorial
Last synced: 5 days ago
JSON representation
Spring Boot REST APIs - exercise for APIs interactions
- Host: GitHub
- URL: https://github.com/nicola-residori/uni42
- Owner: nicola-residori
- Created: 2023-01-17T22:00:10.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-01-23T13:49:54.000Z (almost 2 years ago)
- Last Synced: 2023-11-04T17:34:07.890Z (about 1 year ago)
- Topics: api, authentication, circuit-breaker, h2-database, maven, rest, rest-api, restapi, spring, spring-boot, springboot, timeout, tutorial
- Language: Java
- Homepage:
- Size: 3.23 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Uni42: a SpringBoot REST APIs
===================================# What is `Uni42`?
Uni42 is a SpringBoot tutorial project of a RestAPIs and their interactions.## System Description
![](./_doc/ServiceSchema_2.png)
1. **Administrator**: Spring Boot Admin Console, to see and monitor all APIs.
2. **Configurator**: RestAPI to manage (create, retrieve, update and delete) custom configuration attributes that can be changed in realtime.
3. **Authenticator**: RestAPI service to perform authentication in order to generate a JWToken that will be spent to call ChannelAPI.
4. **VerticalAPI**: RestAPI service that provides Customer service and C.R.U.D. operation to manage customer and its data.
5. **ChannelAPI**: RestAPI invoked by final user, to retrieve Customer information and last access.# How to run?
The project is implemented using maven and SpringBoot, so execute software is really easy.
Into the project root directory is enough to run following shell commands:```shell
#-- to run Administrator
cd Administrator
chmod +x mvnw
./mvnw spring-boot:run
``````shell
#-- to run Authenticator
cd ..
cd Authenticator
chmod +x mvnw
./mvnw spring-boot:run
``````shell
#-- to run Configurator
cd ..
cd Configurator
chmod +x mvnw
./mvnw spring-boot:run
``````shell
#-- to run VerticalAPI
cd ..
cd VerticalAPI
chmod +x mvnw
./mvnw spring-boot:run
``````shell
#-- to run ChannelAPI
cd ..
cd ChannelAPI
chmod +x mvnw
./mvnw spring-boot:run
```
Admin console will be available on [localhost:8080](http://localhost:8080),
where you can see metrics to monitor services and the list of APIs Swagger entry points.Obviously we suggest to use an IDE (e.g. [IntelliJ](https://www.jetbrains.com/idea/)) that supports SpringBoot to simplify the startup procedures.
# Why 42?_If you are asking why the 42, the secret is in the name, but remember:
The Answer is certainly correct, but probably, the question will not._