reytabs/laravel-forum

A Laravel 6/7/8/9 package providing a solid foundation for building discussion forums

5.0.x-dev 2024-03-28 07:38 UTC

This package is auto-updated.

Last update: 2024-04-28 07:49:12 UTC


README

Tests phpcs StyleCI Packagist Downloads Packagist License

Laravel Forum Logo

Complete documentation is available on teamteatime.net.

Versions

Laravel version Package version PHP version
10 ^5.5 ^8.1
9 ^5.3 ^8.0
6 - 8 ^5.0 ^7.4
5 ^4.0 ^7.4

See the support policy in the Laravel docs for more information about Laravel release versions, their supported PHP versions, and how long they receive bug & security fixes.

Installation

Step 1: Install the package

Install the package via composer:

composer require riari/laravel-forum:~5.0

Package Discovery should take care of registering the service provider automatically, but if you need to do so manually, add the service provider to your config/app.php:

TeamTeaTime\Forum\ForumServiceProvider::class,

Step 2: Publish the package files

Run the vendor:publish command to publish the package config, translations and migrations to your app's directories:

php artisan vendor:publish

Step 3: Update your database

Run your migrations:

php artisan migrate

Step 4: Install a UI preset

As of 5.6.0, a forum:install command is available for installing UI presets. The available preset options are bootstrap (for a Bootstrap 5 UI) and tailwind (for a Tailwind CSS UI). You must install one of these to publish the corresponding views to your application. For example:

php artisan forum:install tailwind

Additional steps

Configuration

Several configuration files are published to your application's config directory, each prefixed with forum.. Refer to these for a variety of options for changing the behaviour of the forum and how it integrates with key parts of your application code.

You may need to modify the forum.integration.user_name config option according to your user model. This specifies which attribute on the user model should be used as a display name in the forum views.

Translations

Laravel Forum currently supports 15 languages: German, English, Spanish, French, Italian, Dutch, Romanian, Russian, Thai, Turkish, Serbian, Portuguese (Brazil), Swedish, Chinese, and Indonesian. The translation files are published to resources/lang/vendor/forum/{locale}. Some new language strings have been introduced in 5.0 but not yet translated; PRs to translate these would be greatly appreciated.

Development

If you wish to contribute, an easy way to set up the package for local development is Team-Tea-Time/laravel-studio, which is set up to load a local working copy of this repository (see the readme for usage details).

Running tests

Bring up the MySQL service:

docker-compose up -d mysql

Install Composer dependencies:

docker-compose run --rm composer install

Run the phpunit container to execute tests:

docker-compose run --rm phpunit

Seeding

The package tables can be seeded with sample categories, threads, posts, and a user via forum:seed:

docker-compose exec php-fpm php artisan forum:seed