Open twitter-like data streaming
A service I’d like to build, or see get built.
Intro
When people ask me how they can be better at front-end web development, or picking up a new framework, my answer is usually “build more stuff”.
But among the questions that arise with that answer, “what stuff?” seems to stand out the most.
But
Building with ToDoMVC is fun, but it has its limitations.
- It doesn’t build your ability to work with APIs, which is crucial as a front-end web developer.
- And I cannot stress this enough, it gets tiring!
Do you know how many ToDo Apps are created daily???
So now, I tell people to built twitter clones.
I begin with the compose-tweet component.
You might be surprised how much work goes into building this, but that’s until you notice it does this:
Expanding, so you can make threads, while maintaining the state of the original tweet.
This promises an insight into state management, if you’ve never encountered it before, because the original tweet composer and the modal tweet composer, are probably two different components, and you’ll have to sync their state somehow.
But APIs!!!
Yes, this still doesn’t meet the need to have your API consumption skills sharpened.
For that, we’ll need to add some kind of back-end. The problem with practice/demo backends, is it that they’re their own project. If you’re a front-end dev, you probably want to build designs, not spend time creating a back-end, just so you can practice consuming APIs.
Luckily, there are services like ReqRes.in give you a full-fledged REST API, with demo data, to play around with, and that’s such a cool thing.
Data streaming
I find data streaming technology, the kind that probably powers twitter features like the timeline really interesting, and the ReqRes API doesn’t have endpoints for that.
So, I’d like to build, or see someone build an open streaming service, with an endpoint for collection streaming, such that tweet-like data is generated with fakers, including media links to photos, videos and GIFs, and sent to the client for as long as the connection is open.
Another endpoint for adding a tweet to the stream would be helpful.
Implications
If such a tool exists on the web, then I can tell the front-end devs, to go build a twitter clone using such a tool, and be very certain, that when done with it, they’d be much better front-end developers, than when they started out.
So, if you’d like to build this, or have built it already, please tag me on twitter, and I promise to update this article, if I or someone else does this.