Skip to content

Demo application using Spring boot, React and GraphQL

Notifications You must be signed in to change notification settings

twcardenas/whoiswho-graphql

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Spring boot + React + GraphQL Example

This project contains a full example of an application developed using GraphQL within the Java ecosystem. The backend uses Spring boot, Spring Data, and the GraphQL Java Kickstart library.

The frontend uses React (with React hooks) and the Apollo GraphQL client.

Installation

The backend requires JDK 11+ and can be installed using:

cd whoiswho-backend
./mvnw package

The frontend requires Node.js 12+ can be installed using:

cd whoiswho-frontend
npm install

Running

To run the backend, you need JDK 11+ and you can use the following command:

cd whoiswho-backend
WHOISWHO_SECURITY_PASSWORDSTRENGTH=10
WHOISWHO_SECURITY_TOKENSECRET=myspecialsecret 
./mvnw spring-boot:run

To run the frontend, you need Node.js 12+ and you can use the following command:

cd whoiswho-frontend
npm start

Testing it out

The backend provides a GraphQL Playground to test things out. The playground is located at http://localhost:8080/playground by default. Authentication happens by passing a JWT token as a header by using the Authorization: Bearer <token> header.

A JWT token can be obtained by calling the login mutation. By default, there is a user created with the following credentials:

By default, the JWT token is valid for 4 hours, but this can be extended by the use of the whoiswho.security.tokenexpiration property.

The frontend will run at http://localhost:3000. Logging in can be done through the credentials provided above.

About

Demo application using Spring boot, React and GraphQL

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 54.3%
  • Java 45.3%
  • Other 0.4%