= Company Registration System

The _Company Registration System API_ offers a comprehensive suite of endpoints essential for dealing with _Company Registration System Documents_.

== Version

include::gradle/version.txt[]

== Helpful Links

=== Swagger UI

http://127.0.0.1:8080/companyregistrationsystem/so/openapi/ui

=== OpenAPI Schema

YAML Format: http://127.0.0.1:8080/companyregistrationsystem/so/openapi

JSON Format: http://127.0.0.1:8080/companyregistrationsystem/so/openapi?format=json

These links can be directly imported into Postman, see, https://learning.postman.com/docs/integrations/available-integrations/working-with-openAPI/[Importing OpenAPI Specification] documentation.

=== Health Check

http://127.0.0.1:8080/companyregistrationsystem/so/health

=== Metrics

http://127.0.0.1:8080/companyregistrationsystem/so/metrics

== Build

Export the following environment variables to enable accessing the package registry:

[source,shell]
----
export SO_REPOSITORY="https://gitlab.com/api/v4/projects/56940841/packages/maven"
export SO_REPOSITORY_CRED_NAME="Deploy-Token"
export SO_REPOSITORY_CRED_VALUE="ask-for-token-value"
----

=== Formatting

To format the source code, use the following command:

[source,shell]
----
  ./gradlew format
----

=== Compilation

To build from source, use the following command:

[source,shell]
----
  ./gradlew clean build
----

=== Development Mode

To run the server in _Development Mode_, use the following command:

[source,shell]
----
  ./gradlew quarkusDev
----

=== Production Mode

To run the server in _Production Mode_, use the following command:

[source,shell]
----
  java -jar build/company-registration-system.jar
----
