A helidon (microprofile) RESTful webservice with microstream.
The project represents a basic CRUD webservice where you can manage fuel fillings (of a car).
It is also shipped with a nice UI (openapi-ui) so that no external REST/HTTP client is required.
- Microstream
- Helidon MP
- Microprofile (config)
- MP Health
- Logging via SLF4J and Apache Log4j 2
- OpenApi
- OpenApi-UI
- GitHub Actions for CI/CD
- Heroku for hosting the demo
Documentation about this project is available here
The demo is hosted on heroku.
It may take some seconds to start.
There are prebuilt executables, so that you don't have to build the code locally.
- Check if you have Java 11 installed, if not install it
- Download the latest zip from the releases and unzip it
- Run
java -jar fuel-filling-service.jar
- Open http://localhost:8080
- Run the latest release using
docker run --rm -p 8080:8080 --name fuel-filling alb2k/fuel-filling-service
- Stop/Remove it with
docker stop fuel-filling
- Open http://localhost:8080
If you don't want to use the prebuilt executables you can also build the project.
You can either build and execute this project IDE-based or directly with Java or Docker.
Requirements (the IDE should contains these functions):
- Java 11
- Maven 3
- Build the project with
mvn clean package
NOTE: Normally this is not required, but it should be done when you wish to update the openapi file - Start/Debug the project by invoking
io.helidon.microprofile.cdi.Main
Requirements:
- Java 11
- Maven 3
- Build the project with
mvn clean package
- Run the built jar with
java -jar target/fuel-filling-service.jar
- Open http://localhost:8080
Requirements:
- Docker
- Build the image with
docker build -t fuel-filling .
- Execute it with
docker run --rm -p 8080:8080 --name fuel-filling fuel-filling
- Stop/Remove it with
docker stop fuel-filling
For the license of this project, check the LICENSE file
A summary of all dependencies and their licenses is also available online
This project was created for the Microstream hackathon