At Dgraph, we quite enjoy Twitter. It has become the source of the latest updates about everything under the sun, ranging from jokes by Conan O’Brian, to the status of Fog in San Francisco.
Thought leaders also use Twitter as a tool for public communication. This makes it particularly attractive to stay abreast of certain topics. In particular, we use Twitter to stay on top of all the fast changes happening in the GraphQL world.
But, we regularly encounter the problem of not being able to find the most interesting tweets related to GraphQL. Following many popular people in the industry is definitely a great start. But as you might have noticed, Lee Byron is not the most active Twitter user (j/k).
Moreover, interesting tweets can come from any source — which makes it hard to curate a list of accounts to follow. And repeatedly searching for GraphQL on Twitter can only take you so far.
So, we kept feeling like we’re missing out on the latest content being posted in the GraphQL-sphere. And that’s the problem we are solving.
Today, we are launching GraphQL Tweetletter, a collection of the most interesting and popular tweets, delivered to your inbox every week. The word Tweetletter, as you can imagine, is a spin on the commonly used word, Newsletter. While we enjoy the weekly GraphQL newsletter, we cherish the ability to quickly engage with most relevant and interesting tweets in easily consumable, bite-sized chunks from the GraphQL-sphere.
To make it even more fun, we built an accompanying site, which picks up and showcases the latest popular GraphQL tweets in real-time. That provides an easy way to search, browse, and engage with the most interesting tweets on the topic and find more interesting Twitter accounts to follow.
Behind the site is a bot, which keeps track of the latest trending tweets and stores them in, you guessed it, a GraphQL backend. The frontend, a React app, allows the user to search through the tweets via full-text search, sort them by popularity, recency, and filter by when they were posted — issuing queries to the backend. For the reverse-engineers in us, we have exposed the endpoint and the queries run by the site, so you can bring out your favorite GraphQL client, connect it directly to the backend and try the queries out.
This already provides more functionality than what you can get on Twitter, showing a lot more relevant content for the GraphQL community, and we’re just getting started.
All of this is built using our newest, not-officially-released-yet product, Slash GraphQL, a fully-managed GraphQL backend service. It is running on top of Dgraph, a database built from scratch to serve GraphQL.
During development, we changed the GraphQL schema many times as we kept
iterating over the schema. For example, we started with a field called
timestamp
being an Int
, but later switched to DateTime
, and added an index
to it. No data needed to be migrated when doing this switch. We dropped some
existing fields like likes
and retweets
and replaced those with a new field
score
. Similarly, we added a new field postedAt
.
Building a GraphQL app this weekend.
Had stored a date in 'int' format in https://t.co/iEhewZgk1G, and then realized @dgraphlabs team had added support for DateTime.
Just changed the schema from saying 'Int' to 'DateTime', and it all just worked! No data movement required. WAO!
— Manish R Jain (@manishrjain) July 18, 2020
All of these modifications happened entirely from within the Slash GraphQL UI, and with zero downtime. Slash allowed us to focus entirely on our GraphQL app, allowing seamless schema changes — so smooth that even we, the authors of the software, were surprised by how awesome it was! (of course, we’re biased)
So, check out our new GraphQL Tweetletter — the easiest way to stay on top of all the latest happenings in the GraphQL world. And let us know which is your favorite GraphQL Tweet in the comments.
ReferencesManish is the Chief decision-maker at Dgraph. He got thrust into distributed systems right out of college, working on real-time web indexing systems at Google. He then led various projects to consolidate and serve Knowledge Graph right behind web search.
Implementing GTD and Zero Waste practices, Manish is into efficient and minimalist living. He loves cycling, swimming, and ultra-light traveling.
This is a companion discussion topic for the original entry at https://dgraph.io/blog/post/introducing-graphql-tweetletter/