Skip to content

GraphQL back-end in Spring Boot of a simple real estate management system.

Notifications You must be signed in to change notification settings

vittorioexp/estatepro-spring-boot-graphql-project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EstatePro Spring Boot GraphQL project

This repository is an example application for the Spring Boot framework that employs the Netflix DGS framework to expose a GraphQL API and that interacts with a PostgreSQL DBMS via Spring Data JPA.

It shows the following features:

  • Datafetchers
  • Mutations
  • DataLoader to prevent the N+1 problem
  • Lombok for model classes
  • Spring Data JPA

Other examples

There are other examples of using the DGS framework as well:

Agencies, Agents, and Properties

This example is built around three main types: Agencies, Agents, and Properties. Each real estate agency has an ID, a name, a tax code, and is associated with N agents and N properties. A real estate agent has a UUID, a full name and is associated with only one agency. Each property has an ID, a name, a type (enumeration), coordinates, a purchase date and is associated with only one real estate agency. A property can be created, updated or deleted using a mutation.

The schema file is located in the following path.

/src/main/resources/schema/schema.graphql

Starting the example

The example requires Java 17 and PostgreSQL 14.

Create a PostgreSQL database, using the database name, username, and password contained in application.yml.

Run the application in an IDE using its main class or using Gradle:

./gradlew bootRun

Interact with the application using GraphiQL on http://localhost:8081/graphiql.

Releases

No releases published

Packages

No packages published

Languages