Skip to content

mentionbb/mentionbb

Repository files navigation

A classic forum system with next-gen

Mention logo

license repoSize commityActivity

MentionBB?

Mention Index

Mention is an advanced forum community software. It is based on the balance between the classic forum software and the new generation ones. In this context, it has made it essential to add revolutionary innovations with developing technologies.

  • Flexible and fast. Despite using advanced algorithms, Mention is a very lightweight software thanks to its caching technologies. On the other hand, it contains highly complex and previously unseen components.

  • Addons and modular support. Mention uses a unique plugin system. There is a system where you can add an add-on to almost every part of it without difficulty. Plugin system works via HTML/CSS marker. In addition, with its advanced infrastructure and modular structure, you will never have any difficulties in your projects. Want a Portal? You can add. Blog? You can add.

  • Languages! It was developed for you to adapt it to absolutely any language you want. Adding language is easy and simple, language files are very simple and you can also convert them to any sentence from the admin panel.

  • It's a nice theme but you can change it. The default theme is responsive and built with many new technologies, but you can customize this theme or replace it completely.

  • Advanced template system. Mention uses an improved Twig 3.0 engine. You can use this engine in plugins and various everywhere. There is quite a detailed area for editing templates in the admin panel.

And much much more.

Status

MentionBB has been in active development for over 3 years. The project you see on GitHub is developed in parallel and in real-time. Goal is to create a new generation forum that complies with completely new standards. You can install and use it on your site in its current status.

Install

You have to do this manually as the Installer isn't ready yet.

Requirements

  • PHP 8.2+
  • Composer
  • Git (Optional)

Requirements PHP Extensions

  • Mbstring
  • Iconv
  • Curl
  • Zip
  • GD (Optional)

If you are on Docker: mentionbb-dockerized

If you are using Nginx server, the sample config file below will be helpful

server {
    listen 80;
    server_name example.com;
    root /var/www/public;

    location / {
        try_files $uri /index.php$is_args$args;
    }

    location ~ ^/index\.php(/|$) {
        if ($request_method = 'OPTIONS') {
            add_header 'Access-Control-Allow-Origin' '*' always;
            add_header 'Access-Control-Allow-Methods' 'GET, POST, DELETE, OPTIONS' always;
            add_header 'Access-Control-Allow-Headers' 'Authorization,DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range' always;
            add_header 'Access-Control-Max-Age' 1728000 always;
            add_header 'Content-Type' 'text/plain; charset=utf-8' always;
            add_header 'Content-Length' 0 always;
            return 204;
        }
        add_header 'Access-Control-Allow-Origin' '*' always;
        add_header 'Access-Control-Allow-Methods' 'GET, POST, DELETE, OPTIONS' always;
        add_header 'Access-Control-Allow-Headers' 'Authorization,DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range' always;
        add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range' always;
        
        fastcgi_pass unix:/run/php/php8.3-fpm.sock;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        fastcgi_param DOCUMENT_ROOT $realpath_root;
        internal;
    }
    location ~ \.php$ {
        return 404;
    }
    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }
 
    include /var/www/.nginx.conf;

    error_log /dev/stdout info;
    access_log /var/log/nginx/project_access.log;
}

You need to edit the paths and server name!

Install Via Zip

Download the latest files and extract them from the Zip file.

After this step, we need to perform a composer update.

composer update

For Composer installation: https://getcomposer.org/doc/00-intro.md#installation-linux-unix-macos

If you have Windows on local: https://getcomposer.org/doc/00-intro.md#installation-windows

If you cannot install, download the ready vendor file then extract and move it to the src folder. Vendor.zip

After that, you need to set the database.

  • Create an empty database and import the "db.sql" file located in the main directory.

The column you need to change is:

settings > site_url

Enter the full address of your site in this column.

Open:

src/DbConfig.php

Make your database settings in this file.

You should set the file according to the database driver you want to run on your server. All instructions are in the file. By default, pdo_mysql is selected, and the PDO plugin must be installed to use it.

After that, your site will be up and running.

Default user:pass

TestUser:123456.,

Admin Panel for more settings.

Disabled Developer Mode

We recommend that you turn this setting off. Because with template changes, your files are backed up, but not when Dev Mode is on.

\App\App::$dev
public static $dev = [
    '_devMode' => false,
];

Framework

Mention has been developed under an custom application framework called Par2. I have also used it in my previous projects, but this is a much improved version.

In general, Symfony Components are used.

Packages used in this project

These are the main packages that have been used. We used a lot of things to create Mention. Thank you for all.

License

Mention is a open-source project and licensed under the MIT License(MIT). Please read the license file.