xm-online / xm-ms-timeline

XM^online 2 - Microservice for Timelines

Home Page:https://xm-online.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build Status Quality Gate Quality Gate Quality Gate

timeline

This application was generated using JHipster 7.8.1, you can find documentation and help at https://www.jhipster.tech.

This is a "microservice" application intended to be part of a microservice architecture, please refer to the Doing microservices with JHipster page of the documentation for more information.

Development

To start your application in the dev profile, simply run:

./gradlew

For further instructions on how to develop with JHipster, have a look at Using JHipster in development.

Enable RDBMS mode

Open application-.yml config and add following configuration:

  1. Specify timeline service type. Possible values: logger, rdbms
application:
    timeline-service-impl: rdbms
  1. Enable automatic repositories configuration
spring:
    data:
        jpa:
         repositories:
            enabled: true    
  1. Add datasource configuration
spring:
    jpa:
        database-platform: io.github.jhipster.domain.util.FixedPostgreSQL82Dialect
        database: POSTGRESQL
        show-sql: false
        properties:
            hibernate.id.new_generator_mappings: true
            hibernate.cache.use_second_level_cache: false
            hibernate.cache.use_query_cache: false
            hibernate.generate_statistics: false
            hibernate.cache.use_minimal_puts: true
    datasource:
        type: com.zaxxer.hikari.HikariDataSource
        url: jdbc:postgresql:timeline
        driver-class-name: org.postgresql.Driver
        username: postgres
        password: postgres
  1. Enable liquibase
spring:
    liquibase:
        enabled: true
  1. Enable health check
management:
    health:
        db:
         enabled: true

Open application.yml and comments following configs

spring:
    autoconfigure:
        exclude: org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration, org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration, org.springframework.boot.actuate.autoconfigure.EndpointAutoConfiguration

Building for production

Packaging as jar

To build the final jar and optimize the timeline application for production, run:

    ./gradlew -Pprod clean bootJar

To ensure everything worked, run:

java -jar build/libs/*.jar

Refer to Using JHipster in production for more details.

Packaging as war

To package your application as a war in order to deploy it to an application server, run:

./gradlew -Pprod -Pwar clean bootWar

Testing

To launch your application's tests, run:

./gradlew test integrationTest jacocoTestReport

For more information, refer to the Running tests page.

Code quality

Sonar is used to analyse code quality. You can start a local Sonar server (accessible on http://localhost:9001) with:

docker-compose -f src/main/docker/sonar.yml up -d

You can run a Sonar analysis with using the sonar-scanner or by using the gradle plugin.

Then, run a Sonar analysis:

./gradlew -Pprod clean test sonarqube

For more information, refer to the Code quality page.

Using Docker to simplify development (optional)

You can use Docker to improve your JHipster development experience. A number of docker-compose configuration are available in the src/main/docker folder to launch required third party services.

You can also fully dockerize your application and all the services that it depends on. To achieve this, first build a docker image of your app by running:

    ./gradlew bootWar -Pprod jibDockerBuild

Then run:

    docker-compose -f src/main/docker/app.yml up -d

For more information refer to Using Docker and Docker-Compose, this page also contains information on the docker-compose sub-generator (jhipster docker-compose), which is able to generate docker configurations for one or several JHipster applications.

Continuous Integration (optional)

Continuous Integration (optional)

To configure CI for your project, run the ci-cd sub-generator (jhipster ci-cd), this will let you generate configuration files for a number of Continuous Integration systems. Consult the Setting up Continuous Integration page for more information.

About

XM^online 2 - Microservice for Timelines

https://xm-online.com

License:Apache License 2.0


Languages

Language:Java 95.3%Language:HTML 3.4%Language:Shell 0.9%Language:Dockerfile 0.4%