Forum as a graduation project

Discussion of non-phpBB related topics with other phpBB.com users.
Forum rules
General Discussion is a bonus forum for discussion of non-phpBB related topics with other phpBB.com users. All site rules apply.
wojoxet
Registered User
Posts: 0
Joined: Sun Jul 07, 2024 3:35 pm

Re: Forum as a graduation project

Post by wojoxet »

Guys, I like the spirit and the atmosphere here, and how the ideas going and you are helping me.
I think I can understand now why phpBB is still around and famous, I can confirm that it is not the software features (Of course the software is amazing), but it is because of the members behind phpBB software and its community.
Seriously you have my full honest respect and appreciation.
Mick wrote: Mon Jul 08, 2024 7:48 am May I ask, how long do you have for this?
Sure!
Deadline is 15/04/2025.
danieltj wrote: Mon Jul 08, 2024 2:33 pm Building a forum is easy, and I don't mean that in a condescending way. I mean the actual architecture of a forum is very simple. It can actually be condensed down into the form of a blog like WordPress for example.
What I mean by this is that in the context of a blog, you have posts and the equivalent of that in the context of a forum is a topic (or thread as it's sometimes called). Blog posts then might have comments on it and the equivalent of that in the context of forums are posts (or replies etc).
This example enlightened me as I was very confused between the core functions of both of them.
danieltj wrote: Mon Jul 08, 2024 2:33 pm I'm not suggesting you use WordPress by the way. I'm just drawing on the similarities between blogs and forums.
Yes, I do understand your point and it is very helpful indeed.
danieltj wrote: Mon Jul 08, 2024 2:33 pm The first thing to do is to create a project and work on setting up users so you can log in.
Do you mean like a blank project and only create users to log in and out of the system, or project need to include extra things at this step?
danieltj wrote: Mon Jul 08, 2024 2:33 pm Once you've down that, you'll want to setup an admin area (like the Admin Control Panel in phpBB) that lets you create and delete forums.
I searched a lot on Google about this part and I can not fully understand its requirements correctly, I mean after creating the users (still searching for the way and best practices to do it) the control panel will be for users and creating forums, right?
danieltj wrote: Mon Jul 08, 2024 2:33 pm Then you'll need to work on functionality for letting users create topics and later on create posts inside of topics. I wouldn't worry about permissions until further on down the line because that will complicate things during the most important part (creating content).
I felt my brain shocked with a hammer when I read this part trying to figure it out, especially the contents part.
danieltj wrote: Mon Jul 08, 2024 2:33 pm As I said already, it's not hard; it'll just take a while to do. Perhaps trying looking at frameworks like Symfony (which phpBB uses) or you can supercharge your process and use Laravel (which also uses Symfony) but is a complete development kit with loads of helpful utilities to speed up your workflow.
I will follow your advice and go for Symphony as it is considered a greater investment than Laravel in the long run.

Note:
Something I've realized and was not able to express correctly previously (for a few months or more), I read a lot of programming books and how to apply design patterns and object-oriented programming (I've even dug a lot in this part and watched many topics from the older days of how object-oriented started on SmallTalk in the 70s) and watched many hours of YouTube daily on these topics.
But when I try to apply it for something on my own I feel lost, for example, when you thankfully mentioned creating the users part and the admin back control panel to manage the users and the forums ... I am lost on how to apply the concept I learned ... and at the same time, when anyone ask me about any terms I can fully explain it and its relations. It's something like building blocks of codes and can not integrate them all. I've even taken private classes but it turned out to be another YouTube video and the instructor did not tell me the right mindset, or I can not learn the mindset the right way.
This is the main problem I am suffering from, and this is why I am very much interested in this project to cure myself completely.
I am sorry if I went off-topic, but your friendly manners and professional experiences encouraged me to express myself.
I've even thought about going to a freelance website like UP Work or a like and hiring someone, not to do the project for me but to tell me the how-to and the mindset of things that could be managed and planned.
User avatar
danieltj
Infrastructure Team Member
Infrastructure Team Member
Posts: 630
Joined: Thu May 03, 2018 9:32 pm
Location: United Kingdom
Name: Daniel James

Re: Forum as a graduation project

Post by danieltj »

To clear up a few things from my last reply and your reply to that;
  • Starting a project can be as simple as creating a new folder and putting all of your files that you're writing your code in, inside of that. There's nothing else to it. Literally just create space where you'll be coding your forum.
  • When you create a logging in system one thing you could do to simplify a large part of the process is have a column in the users table called 'admin' and then just have that set to a 1 or 0 to decide if the user is an administrator and if they can manage the forum. It will makes things easier for you in terms of deciding who gets special permissions and who doesn't. If a user is marked as an admin (admin = 1) then they can access admin.php for example. Again, you don't need to work with advanced permissions for this type of project. It's overkill. if you want to... go ahead but I suggest you save yourself time and bother.
  • Work on every piece of data one step at a time. So first create the users system so you can create a new account. Log in, log out and perhaps change some basic profile settings (like email, password). Then work on creating forums with nothing inside of them. After that you can then develop topics so you have create, edit and delete topics. After that, you can then work on posts so the actual content that exists inside a topic (or thread etc). Once you've built the foundations for each type of content, you can work on integrating them together in more complex ways but of course it's always best to start off with the basics first.
If you need inspiration on how to get started or want to look at a system that is relatively simple then I suggest looking at this blogging system I made a while ago called Cece. It's very buggy and not working exactly how I'd like it to be but it's very simple and very lightweight. It should hopefully help you understand how I created things like a log in system, a way for people to create plugins (extensions) and themes (styles). Fundamentally it's very simple so if you take time to look through the codebase, you should be able to figure out how I developed various features and consider how you can adapt them into your own project.

https://github.com/danieltj27/Cece

I'm not the best developer, and there's plenty of better developers on this forum than me so my point is that if I can do it then it shouldn't be that hard for someone else to pick it up and do it too... 😉

Good luck!
wojoxet
Registered User
Posts: 0
Joined: Sun Jul 07, 2024 3:35 pm

Re: Forum as a graduation project

Post by wojoxet »

danieltj wrote: Mon Jul 08, 2024 4:01 pm To clear up a few things from my last reply and your reply to that;
  • Starting a project can be as simple as creating a new folder and putting all of your files that you're writing your code in, inside of that. There's nothing else to it. Literally just create space where you'll be coding your forum.
  • When you create a logging in system one thing you could do to simplify a large part of the process is have a column in the users table called 'admin' and then just have that set to a 1 or 0 to decide if the user is an administrator and if they can manage the forum. It will makes things easier for you in terms of deciding who gets special permissions and who doesn't. If a user is marked as an admin (admin = 1) then they can access admin.php for example. Again, you don't need to work with advanced permissions for this type of project. It's overkill. if you want to... go ahead but I suggest you save yourself time and bother.
  • Work on every piece of data one step at a time. So first create the users system so you can create a new account. Log in, log out and perhaps change some basic profile settings (like email, password). Then work on creating forums with nothing inside of them. After that you can then develop topics so you have create, edit and delete topics. After that, you can then work on posts so the actual content that exists inside a topic (or thread etc). Once you've built the foundations for each type of content, you can work on integrating them together in more complex ways but of course it's always best to start off with the basics first.
If you need inspiration on how to get started or want to look at a system that is relatively simple then I suggest looking at this blogging system I made a while ago called Cece. It's very buggy and not working exactly how I'd like it to be but it's very simple and very lightweight. It should hopefully help you understand how I created things like a log in system, a way for people to create plugins (extensions) and themes (styles). Fundamentally it's very simple so if you take time to look through the codebase, you should be able to figure out how I developed various features and consider how you can adapt them into your own project.

https://github.com/danieltj27/Cece

I'm not the best developer, and there's plenty of better developers on this forum than me so my point is that if I can do it then it shouldn't be that hard for someone else to pick it up and do it too... 😉

Good luck!
That is brilliant.
Thanks a lot.
Now I have something to start with.
User avatar
Terceirense
Registered User
Posts: 56
Joined: Mon Oct 09, 2006 1:19 pm
Location: Açores Ilha Terceira

Re: Forum as a graduation project

Post by Terceirense »

For building a forum, start by focusing on the core features: user registration, posting, and topic management. You don't have to dive into the admin panel or complex features right away.
Frameworks like Laravel or Symfony are great for learning because they teach you modern PHP practices, but for a simpler start, you might want to stick with something more basic or even explore PHPBB's structure to see how things work.
WordPress is recommended for forums because it’s user-friendly and has plugins for forums, but it might not be the best for learning the deep technical aspects you’re aiming for.

Return to “General Discussion”