Digitalam's avatar

Where to Start Building a Forum?

Hello! I want a forum for my site. So far I've been trying to integrate other forums. But to give me better control, I'm considering to build my own.

So where should I start? Is Let's Build a Forum with Laravel still relevant? (Maybe it's too old perhaps) Any suggestions?

0 likes
11 replies
jlrdw's avatar

I would suggest starting with the one here, and just adapt to newer version of laravel.

1 like
lemmon's avatar

@digitalam Start with Let's Build A Forum with Laravel and TDD. Just tests and factories are a bit different, but you can work it out with the docs. Just use laravel/ui to get bootstrap and vue and read up on testing and factories for the newer version of laravel.

I am currently doing it for the second time because it is a treasure trove of information on building and testing a forum.

Digitalam's avatar

Sounds like a green light to me! Thanks!

Oh and I’m assuming Jetstream/Breeze with Inertia+Vue is just as good? Since UI is not recommended anymore

drehimself's avatar

Jetstream or Breeze with Inertia Vue is great. Note that if you go with this approach, your frontend will be entirely in Vue and some of the content in the "Build a Forum" series might not be relevant. Inertia has had some great additions to testing recently, so be sure to check that out: https://inertiajs.com/testing

For inspiration and feature ideas, be sure to check out Flarum, which is fully functioning Forum software built with a Laravel backend: https://flarum.org/

Digitalam's avatar

@drehimself Oh that’s new! Thanks!

The surprising thing is I thought Blade and Inertia Vue can be used in parallel :O Such as rendering view(); on a method and Inertia::render(); on another?

drehimself's avatar

You're right, you do have a choice to render a typical Blade view or an Intertia view (Vue component). If you're using Inertia, I'd imagine that the majority of your views will be using Vue though.

1 like
Digitalam's avatar

Actually, I've been trying Flarum a lot lately. Just that the hardest thing to do is to connect my user databases as a form of an SSO. At most, the best way is through Passport. So I intend to build one on my own using Laravel.

But would Flarum or any other forum out there be better than the one I'm learning from Laracasts? In terms of security, too unstable etc.

drehimself's avatar

This is something only you can decide. Existing software has the obvious advantage that it's already built and has features that are ready to use. The disadvantage as you mentioned earlier, is that it is harder to customize to your specific needs.

Take this forum on Laracasts for example. I don't know if you were around in earlier Laracasts days, but the forum was completely separate from the main site, required a separate login and was using existing software (esoTalk, if I remember correctly). This was fine for the most part, but I'd imagine that Jeffrey wanted something more integrated with the main site. Flarum didn't exist yet (or was still in very early development) and there wasn't really anything "modern" in the PHP/Laravel forum space. So Jeffrey rolled up his sleeves and built one from scratch.

It also depends on what your goal is. Do you have a client that has existing users and is in need of forum software? If so, I'd imagine time is a factor and getting it up and running as quickly as possible is a plus. If your primary objective is to learn more about Laravel/webdev, then you will learn a ton if you build one from scratch.

I've only briefly looked at Flarum, but from what I've seen it has a ton of useful features. It's been in development for years, so I'd imagine that it's pretty stable and secure. The community also seems very active and willing to help anyone with questions about it.

Digitalam's avatar

Brilliant reply! Thanks for clearing it up. :)

It's been in development for years, so I'd imagine that it's pretty stable and secure.

That's another thing I'm worried about too. Does it really take years to build a super stable forum? I'd imagine it to be months at most, but it sounds like a really though job now 😨

Please or to participate in this conversation.