steemQL - A GraphQL Server for Steem
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:
- Insteem Web
- Insteem App (React Native, available via Expo)
'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.
If you're not familiar with GraphQL, here you go.
Posted on Utopian.io - Rewarding Open Source Contributors
Hey @sarasate I am @utopian-io. I have just upvoted you!
Achievements
Community-Driven Witness!
I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!
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.