MichaelDaly's avatar

Activity Feeds with GetStream.IO

I am currently building a small social network web application for a niche market and have developed about 70% of the app. I have come from a .net background and I am making my transition into php/laravel development for the first time and I am loving it so far :)

At the moment, I am a stage where I need to think about the activity feed and how I will integrate it within my site. I am planning to have a user specific feed which can be viewed when on a user profile, and a main activity feed which consists of activities carried out by the people you follow.

I am wondering if anyone has ever used a service called GetStream.IO, and if so, would they recommend using this service rather than investing the time in building a custom solution? I ask this question as I don't want to waste time going down a route to discover it was not worth it.

If anyone thinks it is best to build a custom solution then I would be greatful if you could provide information regarding architecture etc.

I hope this question isn't too generic.

Thanks in advance for the help.

0 likes
5 replies
elimantara's avatar

Hi @Mike I'm trying to use GetStream.io too, were you able to use it in your application? I got stuck following their tutorial on GitHub, so I sent them an email this morning. I'm just wondering if you were finally able to use it.

MichaelDaly's avatar

Hi,

Yes, I was able to integrate GetStream to my application - it isn't live yet so I am unable to show you a demo of it but I must say I am impressed by the service and it save me weeks of coding my own solution - I highly recommend it!

It was a little tricky to get my head around at first but the guys at GetStream were really helpful and answered all of my queries.

If you provide an example of where you want to implement GetStream I will do my best to provide a small example.

The app I built is a social network for a niche market - I have used it on every event that a user creates on the site. I have a site-wide activity feed which aggregates all of your friends data, and a user specific feed which is displayed on each members profile page. It's quite straight forward once you get your head around it and the api is really easy to use.

Let me know where you are up to and what I can help you with.

p.s. they have a laravel package available on github - https://github.com/GetStream/stream-laravel

Thanks

1 like
elimantara's avatar

Hi @Mike,

I kept running into the following error whenever I tried to call addActivity(): cURL error 60: SSL certificate problem: self signed certificate in certificate chain

Here's what I did:

use GetStream\Stream\Client;
class UsersController extends Controller
{
    ...
    public function test()
    {
        $client = new Client(KEY, SECRET);
        $aFeed = $client->feed('user', '1');
        $aFeed->addActivity([
            'actor' => 'User:2',
            'verb' => 'test',
        ]);
    }       
}```
alexsam986's avatar

Hey @michaeldaly

Your app sounds amazing!

Let’s breakdown both your options

Using a pre-built solution: Getstream, of course saves you a lot of time and you can build feeds in a snap for your platform. It’s an incredible option to bring loads of pre-built features. But the only hick you may face it limitations around customization and potential vendor lock-in issues.

Building activity feeds (from scratch): Heads-up - this is the most time-consuming option you must be careful about. You will have to give away so much time, resources and money, although you’ll have full control of the development.

I’d say both these options may sometimes be redundant when compared to a third-option - Custom solution.

Providers like MirrorFly and Apphitect have been in the industry for over a decade now, and they’ve come up with solutions you can customize, at a cost you can feel comfortable to afford. You can discuss the exact requirements on Activity feeds with their team, get clarity on the cost, and launch it within a few hours. I feel this would be the right solution for you. Just try to explore it!

Please or to participate in this conversation.