GraphQL books API made using Spring Boot and DGS. This is a sibling project of the Book Project.
Recommended IntelliJ plugins:
As this Dockerfile caches the projects maven dependencies, please ensure docker buildkit is supported (Docker v18.09+) and is enabled.
Use the following command to see if the environment variable is set.
echo $DOCKER_BUILDKIT
If the result returns a blank string or an 0 please use the following command to set it:
export DOCKER_BUILDKIT=1
docker-compose build
, ordocker-compose build --build-arg mvn_arg="clean package" booksapi
to run the tests as welldocker-compose --env-file .env up -d
docker logs -f booksapi
docker-compose up db booksapi
to launch the containers interactivelybooksapi
container if you used the detached flag earlier)http://localhost:8082/graphiql
To run the backend in your IDE, follow the instructions on what to comment out and uncomment in the application.properties file. You will still need to build and run the backend container:
docker-compose build
and docker compose up db -d
If you are using Powershell on Windows and are getting error code 127, you will need to update the line endings in the start.sh script. Run the command below in Powershell and then re-run the Docker commands in the running the app section.
(Get-Content ./docker/bin/start.sh -raw | % {$_ -replace "`r", ""}) | Set-Content -NoNewline ./docker/bin/start.sh
To access the PostgreSQL database when docker-compose/Docker desktop is running, use the follow credentials in your favourite client:
localhost
5432
dbuser
dbpassword
jdbc:postgresql://localhost:5432/books_api
For example, in IntelliJ ultimate or DataGrip:
If you wish to contribute (thanks!), please first see the contributing document.
Note: we skip tests in our Docker builds for convenience, but please ensure you run the tests and they pass before pushing.