Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/fugerit-org/fj-doc-quarkus-tutorial

Simple Fugerit Venus Doc Tutorial microservice based on quarkus
https://github.com/fugerit-org/fj-doc-quarkus-tutorial

Last synced: 13 days ago
JSON representation

Simple Fugerit Venus Doc Tutorial microservice based on quarkus

Awesome Lists containing this project

README

        

# fj-doc-quarkus-tutorial

## Creation command

This project was created using the following [command](https://venusdocs.fugerit.org/guide/#maven-plugin-goal-init) :

```shell
mvn org.fugerit.java:fj-doc-maven-plugin:init \
-DgroupId=org.fugerit.java.demo \
-DartifactId=fj-doc-quarkus-tutorial \
-Dextensions=base,freemarker,mod-fop,mod-poi,mod-opencsv,mod-openpdf-ext,mod-openrtf-ext \
-Dflavour=quarkus-3
```

## Quickstart

Requirement :
- maven 3.9.x
- java 21+

1. Start the app

```shell
mvn quarkus:dev
```

2. Try the app

Open the [swagger-ui](http://localhost:8080/q/swagger-ui/)

Test available paths (for instance : [/doc/example.md](http://localhost:8080/doc/example.md))

NOTE:
- Powered by Quarkus 3.15.1
- Using Fugerit Venus Doc 8.9.3 (extensions : base,freemarker,mod-fop,mod-poi,mod-opencsv,mod-openpdf-ext,mod-openrtf-ext)

## Overview

This project has been initialized using [fj-doc-maven-plugin init goal](https://venusguides.fugerit.org/src/docs/wizard/fj-doc-maven-plugin_init.html).

The quarkus 3 structure is similar to running the quarkus create goal :

```shell
mvn io.quarkus.platform:quarkus-maven-plugin:3.15.1:create \
-DprojectGroupId=org.fugerit.java.demo \
-DprojectArtifactId=fj-doc-quarkus-tutorial \
-Dextensions='rest,rest-jackson,config-yaml,smallrye-openapi'
```

## Quarkus readme

From here on, this is the original quarkus readme.

This project uses Quarkus, the Supersonic Subatomic Java Framework.

If you want to learn more about Quarkus, please visit its website: .

## Running the application in dev mode

You can run your application in dev mode that enables live coding using:

```shell script
./mvnw compile quarkus:dev
```

> **_NOTE:_** Quarkus now ships with a Dev UI, which is available in dev mode only at .

## Packaging and running the application

The application can be packaged using:

```shell script
./mvnw package
```

It produces the `quarkus-run.jar` file in the `target/quarkus-app/` directory.
Be aware that it’s not an _über-jar_ as the dependencies are copied into the `target/quarkus-app/lib/` directory.

The application is now runnable using `java -jar target/quarkus-app/quarkus-run.jar`.

If you want to build an _über-jar_, execute the following command:

```shell script
./mvnw package -Dquarkus.package.jar.type=uber-jar
```

The application, packaged as an _über-jar_, is now runnable using `java -jar target/*-runner.jar`.

## Creating a native executable

You can create a native executable using:

```shell script
./mvnw package -Dnative
```

Or, if you don't have GraalVM installed, you can run the native executable build in a container using:

```shell script
./mvnw package -Dnative -Dquarkus.native.container-build=true
```

You can then execute your native executable with: `./target/getting-started-1.0.0-SNAPSHOT-runner`

If you want to learn more about building native executables, please consult .

## Related Guides

- REST ([guide](https://quarkus.io/guides/rest)): A Jakarta REST implementation utilizing build time processing and Vert.x. This extension is not compatible with the quarkus-resteasy extension, or any of the extensions that depend on it.
- REST Jackson ([guide](https://quarkus.io/guides/rest#json-serialisation)): Jackson serialization support for Quarkus REST. This extension is not compatible with the quarkus-resteasy extension, or any of the extensions that depend on it
- SmallRye OpenAPI ([guide](https://quarkus.io/guides/openapi-swaggerui)): Document your REST APIs with OpenAPI - comes with Swagger UI
- YAML Configuration ([guide](https://quarkus.io/guides/config-yaml)): Use YAML to configure your Quarkus application

## Provided Code

### YAML Config

Configure your application with YAML

[Related guide section...](https://quarkus.io/guides/config-reference#configuration-examples)

The Quarkus application configuration is located in `src/main/resources/application.yml`.

### REST

Easily start your REST Web Services

[Related guide section...](https://quarkus.io/guides/getting-started-reactive#reactive-jax-rs-resources)