Skip to content

Softeq/spring-querydsl-project-template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spring QueryDsl Project Template

Build Status Coverage Status

There are Java project template that integrates next technologies:

  1. Spring Boot 2
  2. Spring Data JPA
  3. QueryDSL JPA
  4. Liquibase
  5. Postgres
  6. MapStruct
  7. Lombok
  8. JUnit 5 + Integration Tests

Build

To build the project it is require to use next command

gradlew clean build

To build docker image it will require to use

docker build . -t app-template

Run

To run the project it is require to use docker-compose

docker-compose -f ./docker/docker-compose.yaml up

To run only project dependencies it is require to evaluate

docker-compose -f ./docker/docker-compose-deps.yaml up

Architecture

Application provide next folder structure

src
    /itest
    /main
    /test

Application provides next folders:

  • itest - this folder contains integration tests
  • main - this folder contains application code
  • test - this folder contains JUnit 5 tests

Main application contains folder structure that represent (hexagonal architecture)

com.softeq.app
    .domain
    .services
    .config
    .adapters
        .api
        .jpa

There are list of packages:

  • domain - this folder contains domain model of the application and repository interfaces
  • services - this folder contains services of the application
  • config - current folder contains application configurations
  • adapters - current folder contains external services adapters

Project contains several base classes:

  1. AbstractITest - base integration test that configure context and rollback options for the tests
  2. AbstractRepositoryImpl - base class for queryDsl based repositories

Gradle build support next options:

  1. -PdisableIntegrationTests - this option allow to disable integration tests
  2. -PdisableJacoco - this options allow to disable code coverage checks

To build the code successfully it is required > 80% code coverage! This requirement automatically checked during build by JaCoCo plugin.

License

MIT

About

Ready to use project template that integrates Java 8/11 with Spring Boot 2, JPA, QueryDsl and Postgres

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors