Skip to content

mattbishop/graphql-workshop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

graphql-workshop

GraphQL / Event Modeling workshop project.

Installation

npm install
docker run --name eventstore-workshop -it -p 2113:2113 -p 1113:1113 eventstore/eventstore:5.0.8-xenial -e EVENT-STORE_DEV=true -e EVENTSTORE_RUN_PROJECTIONS=All -e EVENTSTORE_START_STANDARD_PROJECTIONS=true

Projections

Add projections to EventStore:

node src/event-store/projections/install.js

Enable Projections in Event Store Admin:

  • Go to http://localhost:2113/
  • Log in
    • user: admin
    • pass: changeit
  • Go to Projections tab; you should see table tennis projections installed.
  • Click [Enable All] button.

GraphQL

Launch Apollo:

npm run apollo

Create a player with a mutation command:

mutation {
  registerPlayer(name: "Your Name Here", country: "CA")
}

In a new Tab, Create a players query:

{
  players {
    name
    country
  }
}

You should see your name in this list. Congratulations, you have succeeded at setting up Event Store and Apollo GraphQL!

Table Tennis Event Model

Event_Model

Running a Table Tennis Tournament

This project contains an app that generates a Tournament complete with players, matches and games. You can run a tournament from the command line:

npm run tournament

While running, the console will display the results of games and matches. Also, the tournament GraphQL projection in the Playground will show the results of matches with the following query:

{
  tournament(key: "Your_tournament_Key") {
    name
    matches {
      player1 {
        name
      }
      player2 {
        name
      }
      winner {
        name
      }
    }
  }
}

About

GraphQL / Event Modeling workshop project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published