/Flask-Graphene-SQLAlchemy

A demo project for Flask + GraphQL (With Graphene & SQLAlchemy)

Primary LanguagePython

Python-Flask & Graphene-SQLAlchemy(GraphQL) Example

This is an example project for using GraphQL with Flask using Graphene-SQLAlchemy.

Installing Requirements

Use Virtualenv and install the packages.

pip install -r requirements.txt

Running Flask Server

Go to the root dir and run the below line in the terminal.

python app.py

Creating a new Database

Create a database(Used SQLite) with the table structure mentioned in struct.sql and update the database name in database.py file.

database.py

# Replace 'sqlite:///rfg.db' with your path to database

engine = create_engine('sqlite:///rfg.db', convert_unicode=True)

Testing GraphQL

Go to http://localhost:5000/graphql to try GraphQL. Below are the example queries for adding a new user, getting all users, searching for a user with username and updating username with email id.

Adding a New User

mutation {
  createUser(name: "abc", email: "hello@abc.com", username: "abc") {
    user {
      id,
      name,
      email,
      username
    }
    ok
  }
}

Getting All Users List

{
  allUsers {
    edges {
      node {
        name,
        email,
        username
      }
    }
  }
}

Finding a User with Username

{
  findUser(username: "rahulmfg") {
    id,
    name,
    email
  }
}

Updating Username With Email ID

mutation {
  changeUsername(email: "abc@abc.com", username:"newabc") {
    user {
      name,
      email,
      username
    }
  }
}