rbaf-graphql-api icon indicating copy to clipboard operation
rbaf-graphql-api copied to clipboard

Backend GraphQL Server.

RBFA GraphQL API

RBFA API is an api to help teams from football in brazil to managed his dailies issues. If you want to see the client project, go to here.

Getting Started

This project use graphql, graphql-relay, koa framework, jsonwebtoken and others stuffs;

# clone repo
$ https://github.com/daniloab/rbaf-graphql-api.git
$ cd rbaf-graphql-api

# install dependencies
$ yarn install

# copy .env file
$ cp .env.example .env

# start project
$ yarn start

# see on graphiql graphql interface on localhost link
http://localhost:9001/graphql

Generating the schema

yarn schema

Queries

User

  • All
query {
  users {
    _id
    name
    username
    email
    password
  }
}
  • Auth
query {
  me {
    username
    name
    username
  }
}

Players

  • All
query {
  players {
    _id
    status
    name
    lastname
    position
    document    
  }
}
  • By Id
query {
  playerById(_id: "_id") {
    _id
    status
    name
    lastname
    position
    document
  }
}

Summary

building, almost there ♥

Mutations

User

  • Login
mutation {
    LoginEmail(input: {
      email:"[email protected]"
      password:"jonpassword"
      }) {
        token
        error
    }
  }
}
  • Register
mutation {
  RegisterEmail(input: {
    name: "Ned"
    username:"nedstark"
    email:"[email protected]"
    password:"ned123"
  }) {
    token
    error
  }
}
  • Change Password
mutation {
  ChangePassword(input: {
    oldPassword:"oldPassword"
    password:"newPassword"
  })
}

Players

  • Register and Update Player - If you add a new player, just pass the inputs withou _id
mutation {
  RegisterPlayerMutation(input: {
    _id:""
    status:1,
    name:"Sor"
    lastname:"Jorah"
    position:"Cornerback"
    document:"3456576789"
  }) {
    newPlayer {
      _id
      status
      name
      lastname
      position
      document
    }
    error
  }
}
  • Remove Player
mutation {
  RemovePlayer(input:{
    _id: "_id"
  }) {
    name
    lastname
    error
  }
}