Making custom forums... Help?

Discussion in 'Programming' started by MichaelSteffan, May 10, 2016.

  1. Hey guys, I'm going to be making my server, AmexMC. Since I don't want to use Enjin or XenForo. This will be a good learning experience and I get to learn more about backend.
     
  2. mathhulk

    mathhulk Retired Moderator
    Retired

    If you are new to PHP, I suggest taking a look at http://www.w3schools.com/php/default.asp and http://www.tutorialspoint.com/php/ for the basics.
    However, it looks as if you want to create an advanced platform. You should always learn the basics before stepping into advanced PHP.
     
  3. Building a forum software is no easy task and to build a good one, you will need to have knowledge of some tools:
    - PHP + mySQL (Backend)
    - HTML + CSS + Javascript (Front-end fundamentals)

    In addition, using a PHP framework will also drastically reduce the time spent making this as well as improve performance and security of using an open source firmware that hundreds of users collaborated to; recommend laravel.

    Take a look at other open source forum software out there to get a feeling:
    - https://github.com/atrakeur/laravel-forum (built with Laravel)

    Another little tip I can give is after all this is done look into caching and queues. Forums are stressful on the database and caching results will save you. Queues can be used for rounding up thread views and pushing them to your database at intervals instead of immediately (you see this everywhere).

    Of course none of this comes before learning PHP first.

    I suggest starting your road to building a forum as so:

    HTML + CSS + JS(optional) --> PHP --> mySQL + Database types --> PHP Framework (optional)
     
    • Like Like x 1
  4. have fun building a forum from scratch while learning even the basics of any server sided language xD.. trying to sprint before you're even out of the womb.

    I have a custom forum package i built in laravel that i use in most of my applications. its definitely doable with a little experience.
     
  5. It doesn't even have to be in PHP. You could pick Ruby, Node.js, Python -- even Java.
     
    • Agree Agree x 1
  6. Try build the components separately first, this is always going to be a design challenge due to the scale. Start with a simple, secure login system. Then move onto something that allows you to create threads, etc etc etc. When you have all the pieces done in isolation, try remake them but together.