steemQL - A GraphQL Server for Steem

in #utopian-io6 years ago (edited)

steemQL is a GraphQL server which aims to make interaction with the steem API as easy as possible. The goal is to have a unique API to get and push data from and to steem itself as well as from related 3rd party API's like SteemData, AskSteem etc. It will become a single endpoint for all steem data to make the integration and maintenance of different apps (e.g. web/mobile) a piece of cake.

TechStack

  • GraphQL server (graphql-yoga, nodejs)
  • Used (steem related) libs/API's: dsteem, steemjs, asksteem.com, steemdata.com
  • deployed on heroku: test and live server (ssl)

Funtionality

  • Mutations to create posts and comments, based on the steem API
  • Convenient mutations to create posts/comments with the minimal parameters needed
  • Mentions of any users.
  • Gets Users/Accounts
  • Get followers
  • Get Posts (Discussions) by tag/sort
  • Search the steem blockchain, powered by AskSteem

Roadmap

  • Next: Voting
  • Query Transactions/Blocks
  • Subscriptions for post/comment related queries, to use with GraphQL Clients like Apollo

Contribution

Any kind of contribution is welcome, mainly feedback and feature requests.

GitHub: steemQL

Discord: https://discord.gg/NgezG

steemit.chat: @sarasate

Projects using steemQL:

'Mentions' are already used by the Insteem Web App, try it here: https://www.insteem.com/mentions/@sarasate
Will be available at the mobile App soon.

Here is a sample query for steemQL:

{
  mentions(username: "sarasate") {
    results {
      author
      title
      type
      summary
    }
  }
}

Play with it: steemQL Server. To get documentation for available queries, hit the green Schema button on the right.

Screen Shot 2018-01-25 at 16.21.22.png

If you're not familiar with GraphQL, here you go.



Posted on Utopian.io - Rewarding Open Source Contributors

Sort:  

Hey @sarasate I am @utopian-io. I have just upvoted you!

Achievements

  • This is your first accepted contribution here in Utopian. Welcome!

Community-Driven Witness!

I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!

mooncryption-utopian-witness-gif

Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x

Thanks nice article. For anyone who wants to learn GraphQL:

https://blog.maddevs.io/time-to-graphqlize-f61034d86e35

https://www.howtographql.com/?v1

This last one is super technical:
https://www.hackerone.com/blog/the-30-thousand-dollar-gem-part-1

Enjoy and good luck learning GraphQL!

Thank you for the contribution. It has been approved.

Very instructional, I like the examples and the fact you mention where it is used.

Please add a README.md and a license file to your repo.

You can contact us on Discord.
[utopian-moderator]

Thanks for the approval.

Will add readme and license, forgot that.

see you on discord..

Hey sarasate I am currently using the steemjs API and steemJ for my Android app. But these are quite heavy both on network and performance for a mobile experience. Having previously used Graphql for other projects I know how simple yet powerful it is. I'd like to help you with what I can, in developing this awesome API. Let me know

Hi @Edgar-trem,
support and feedback is always welcome.
You can find me on discord, same name..

And btw your comment about network traffic is a very good selling point. Haven't thought about it before. With steemjs/dsteem or any other lib you always get the whole data set for a query, 90% of it probably never needed.

Coin Marketplace

STEEM 0.26
TRX 0.11
JST 0.033
BTC 64507.66
ETH 3080.07
USDT 1.00
SBD 3.85