Skip to content

Simple show case on how You can take advantage of GraphQL in combination with MongoDB as storage unit.

Notifications You must be signed in to change notification settings

vladimirconev/graphql-mongo-showcase

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Description

This is а simple show-case where we have exposed simple REST API but at some point stakeholders wants a data grid with pagination (displaying minor subset of properties). GraphQL makes it super easy to implement this requirement with a lot of flexibility so API consumers can pick which fields want to be served as long as they are supported and defined in the GraphQL schema.

Setup

Running Local

To Build:

mvn clean verify

To Run:

mvn spring-boot:run
  • Navigate to http://localhost:8080/swagger-ui.html to check Swagger UI API definition.
  • Setting up demo.initial.data.load to true in application.properties will load some sample dummy data on startup.
  • Import postman collection in case you want to check up GraphQL exposed end point.

To spin up MongoDB and Mongo-Express via docker compose:

docker compose -f .\docker-infra.yml up -d 

To shut it down:

docker compose -f .\docker-infra.yml down

To format the code base:

mvn com.spotify.fmt:fmt-maven-plugin:format

Data Volumes are available under: /dockervolume

Happy coding!!!

About

Simple show case on how You can take advantage of GraphQL in combination with MongoDB as storage unit.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages