Convert Figma logo to code with AI

flarum logoflarum

Simple forum software for building great communities.

15,722
1,626
15,722
0

Top Related Projects

43,853

A platform for community discussion. Free, open, simple.

2,924

Vanilla is a powerfully simple discussion forum you can easily customize to make as unique as your community.

14,548

Node.js based forum software built for the modern web

6,425

HumHub is an Open Source Enterprise Social Network. Easy to install, intuitive to use and extendable with countless freely available modules.

14,923

Modern, Crazy Fast, Ridiculously Easy and Amazingly Powerful Flat-File CMS powered by PHP, Markdown, Twig, and Symfony

1,938

phpBB Development: phpBB is a popular open-source bulletin board written in PHP. This repository also contains the history of version 2.

Quick Overview

Flarum is an open-source, modern forum software designed to be simple, fast, and extensible. It aims to provide a sleek and intuitive user experience while offering powerful features for community discussions and engagement.

Pros

  • Clean and responsive design that works well on both desktop and mobile devices
  • Highly extensible architecture with a robust extension ecosystem
  • Performance-focused, with efficient database queries and caching mechanisms
  • Active community and regular updates

Cons

  • Limited built-in features compared to some more established forum software
  • Relatively young project, which may lead to occasional stability issues
  • Smaller ecosystem of themes and extensions compared to older alternatives
  • Can be challenging for non-technical users to set up and customize

Getting Started

To get started with Flarum, follow these steps:

  1. Ensure your server meets the requirements:

    • PHP 7.3+ with required extensions
    • MySQL 5.6+ or MariaDB 10.0.5+
    • Composer
  2. Install Flarum using Composer:

    composer create-project flarum/flarum .
    
  3. Set up your web server to point to the public directory.

  4. Visit your forum's URL and follow the installation wizard to configure your database and admin account.

  5. After installation, you can start customizing your forum by installing extensions and adjusting settings in the admin panel.

For more detailed instructions and advanced configuration options, refer to the official Flarum documentation.

Competitor Comparisons

43,853

A platform for community discussion. Free, open, simple.

Pros of Discourse

  • More mature and feature-rich platform with a larger community
  • Better scalability for high-traffic forums
  • More extensive plugin ecosystem and third-party integrations

Cons of Discourse

  • Heavier resource requirements and more complex setup
  • Steeper learning curve for customization and development
  • Less flexibility in terms of design and layout compared to Flarum

Code Comparison

Discourse (Ruby):

class Post < ActiveRecord::Base
  belongs_to :topic
  belongs_to :user
  has_many :post_replies
  validates_presence_of :raw
end

Flarum (PHP):

class Post extends AbstractModel
{
    use HasDiscussionTrait;
    use HasUserTrait;
    
    protected $table = 'posts';
    protected $dates = ['edited_at', 'hidden_at'];
}

Both projects use different programming languages and frameworks, making direct code comparison challenging. However, the examples above show how each project structures its Post model, highlighting the different approaches to database interactions and model relationships.

Discourse uses Ruby on Rails with ActiveRecord, while Flarum uses PHP with its custom ORM. Discourse's model includes more explicit relationship definitions, while Flarum's model uses traits to include common functionality.

2,924

Vanilla is a powerfully simple discussion forum you can easily customize to make as unique as your community.

Pros of Vanilla

  • More mature and established project with a longer history
  • Larger community and ecosystem of plugins/themes
  • Better documentation and support resources

Cons of Vanilla

  • Heavier and more resource-intensive
  • Steeper learning curve for customization
  • Less modern and opinionated default UI

Code Comparison

Vanilla (PHP):

class DiscussionsController extends VanillaController {
    public function index($page = '') {
        $this->addJsFile('discussions.js');
        $this->render();
    }
}

Flarum (PHP):

class DiscussionsController extends AbstractListController {
    protected function data(ServerRequestInterface $request, Document $document) {
        return $this->discussions->all();
    }
}

Both projects use PHP for backend logic, but Flarum adopts a more modern, API-first approach. Vanilla's controller structure is more traditional, while Flarum leverages a more abstract and flexible design.

Flarum's frontend is built with JavaScript (Mithril.js), offering a more dynamic user experience compared to Vanilla's primarily server-rendered pages with jQuery enhancements.

Overall, Vanilla is a robust, feature-rich option with a large ecosystem, while Flarum offers a more modern, lightweight alternative with a focus on simplicity and extensibility.

14,548

Node.js based forum software built for the modern web

Pros of NodeBB

  • More mature and feature-rich, with a larger ecosystem of plugins and themes
  • Better scalability and performance for larger communities
  • Real-time updates and notifications out of the box

Cons of NodeBB

  • Steeper learning curve and more complex setup process
  • Heavier resource usage, which may impact hosting costs
  • Less modern and minimalist default design compared to Flarum

Code Comparison

NodeBB (server-side rendering):

app.render('category', {
    category: categoryData,
    topics: topicsData,
    breadcrumbs: breadcrumbs,
    title: categoryData.name,
}, function (err, html) {
    translator.translate(html, function (translatedHTML) {
        res.send(translatedHTML);
    });
});

Flarum (client-side rendering):

$document->payload['apiDocument'] = $this->buildPayload($request, $document);

$view = $this->view->make('flarum::frontend.forum');
$document->content = $view->render();

return $document;

NodeBB uses server-side rendering with a callback-based approach, while Flarum employs a more modern client-side rendering technique with a cleaner separation of concerns. This reflects the different architectural choices and target audiences of the two projects.

6,425

HumHub is an Open Source Enterprise Social Network. Easy to install, intuitive to use and extendable with countless freely available modules.

Pros of HumHub

  • More comprehensive social networking features, including user profiles, spaces, and content streams
  • Built-in modules for various functionalities like calendar, wiki, and tasks
  • Highly customizable and extendable through modules and themes

Cons of HumHub

  • Steeper learning curve due to more complex architecture
  • Potentially heavier resource usage for smaller communities
  • Less focus on traditional forum-style discussions

Code Comparison

HumHub (PHP):

public function actionIndex()
{
    $searchModel = new ContentSearch();
    $dataProvider = $searchModel->search(Yii::$app->request->queryParams);
    return $this->render('index', [
        'dataProvider' => $dataProvider,
        'searchModel' => $searchModel
    ]);
}

Flarum (PHP):

public function index(ServerRequestInterface $request, Document $document)
{
    $actor = RequestUtil::getActor($request);
    $filters = $this->extractFilter($request);
    $sort = $this->extractSort($request);
    $limit = $this->extractLimit($request);
    $offset = $this->extractOffset($request);
}

Both projects use PHP, but HumHub follows the Yii2 framework conventions, while Flarum uses a custom architecture. HumHub's code tends to be more tightly coupled with its framework, whereas Flarum's code is more modular and extensible.

14,923

Modern, Crazy Fast, Ridiculously Easy and Amazingly Powerful Flat-File CMS powered by PHP, Markdown, Twig, and Symfony

Pros of Grav

  • Flat-file CMS, no database required, making it lightweight and easy to deploy
  • Extensive plugin ecosystem and flexible theming system
  • Markdown-based content creation for simplicity and portability

Cons of Grav

  • Less suitable for large-scale, complex websites compared to database-driven CMSs
  • Limited built-in user management and permissions system
  • Steeper learning curve for non-technical users compared to traditional CMSs

Code Comparison

Grav (PHP):

$page = $this->grav['page'];
$twig = $this->grav['twig'];
$config = $this->grav['config'];

Flarum (PHP):

$app = Application::getInstance();
$events = $app->make('events');
$view = $app->make('view');

Both projects use PHP, but Grav focuses on file-based content management, while Flarum is tailored for forum functionality. Grav's code often interacts with its flat-file structure, whereas Flarum's code is more centered around user interactions and discussions.

1,938

phpBB Development: phpBB is a popular open-source bulletin board written in PHP. This repository also contains the history of version 2.

Pros of phpBB

  • More mature and established project with a longer history
  • Extensive plugin ecosystem and community support
  • Highly customizable with a wide range of themes and extensions

Cons of phpBB

  • Heavier and more resource-intensive compared to Flarum
  • Older codebase with legacy support, potentially leading to slower development
  • More complex setup and configuration process

Code Comparison

phpBB (config.php):

$dbms = 'mysqli';
$dbhost = 'localhost';
$dbport = '';
$dbname = 'phpbb';
$dbuser = 'root';

Flarum (config.php):

<?php return [
    'debug' => false,
    'database' => [
        'driver' => 'mysql',
        'host' => 'localhost',
        'database' => 'flarum',
        'username' => 'root',
    ],
];

Summary

While phpBB offers a more established and feature-rich platform with extensive customization options, Flarum provides a modern, lightweight alternative with a focus on simplicity and performance. phpBB's mature ecosystem and wide range of extensions make it suitable for complex forum requirements, but its older codebase and resource intensity may be drawbacks for some users. Flarum, on the other hand, offers a more streamlined experience with a modern architecture, making it easier to set up and maintain, albeit with fewer out-of-the-box features compared to phpBB.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Total Downloads Latest Stable Version License

About Flarum

Flarum is a delightfully simple discussion platform for your website. It's fast and easy to use, with all the features you need to run a successful community. It is designed to be:

  • Fast and simple. No clutter, no bloat, no complex dependencies. Flarum is built with PHP so it’s quick and easy to deploy. The interface is powered by Mithril, a performant JavaScript framework with a tiny footprint.

  • Beautiful and responsive. This is forum software for humans. Flarum is carefully designed to be consistent and intuitive across platforms, out-of-the-box.

  • Powerful and extensible. Customize, extend, and integrate Flarum to suit your community. Flarum’s architecture is amazingly flexible, with a powerful Extension API.

screenshot

Installation

Read the Installation guide to get started. For support, refer to the documentation, and ask questions on the community forum or Discord chat.

Contributing

Thank you for considering contributing to Flarum! Please read the Contributing guide to learn how you can help.

This repository only holds the Flarum skeleton application. Most development happens in flarum/core.

Security Vulnerabilities

If you discover a security vulnerability within Flarum, please follow our security policy so we can address it promptly.

License

Flarum is open-source software licensed under the MIT License.