为您的Laravel应用提供的一个简单论坛包

6.1 2020-05-11 16:27 UTC

README

Build status Maintained repository MIT License

Chatter - Laravel论坛包

这是一个Vue + Tailwind CSS + Laravel的论坛包。Chatter是一个单页应用,用于轻松在Laravel应用中创建论坛。

查看YouTube演示

此包受thedevdojo/chatter包的启发

安装

如果您打算在一个现有的项目上安装Chatter,请检查ChatterPreset类,并检查您需要运行哪些安装步骤,这完全取决于您拥有的内容。

  1. 安装Laravel 8,如果您在现有项目中安装Chatter,请跳过此步骤。

  2. 将包包含到您的项目中,并发布包视图、配置等

    $ composer require "chatter-laravel/core:dev-master"
    $ php artisan vendor:publish --provider "Chatter\\Core\\ChatterServiceProvider"
    $ composer dump-autoload
  3. 运行chatter:install命令并遵循说明

    $ php artisan chatter:install

    如果您在现有项目中安装Chatter,请在调用安装命令时包含--plugin选项

    $ php artisan chatter:install --plugin

    安装命令将处理所有您需要安装论坛的内容:迁移、js组件、tailwind、composer包、node包等。

    应用程序必须连接到一个正在运行的mysql实例才能运行迁移,在开发环境中可以运行Laravel Sail

  4. CanDiscussHasApiTokens特质添加到您的用户模型。如果您已经在项目中安装了Laravel Passport,那么您可能已经在用户模型中有了HasApiTokens特质。

    <?php
    
    namespace App\Models;
    
    use Chatter\Core\Traits\CanDiscuss;
    use Laravel\Passport\HasApiTokens;
    use Illuminate\Notifications\Notifiable;
    use Illuminate\Foundation\Auth\User as Authenticatable;
    
    class User extends Authenticatable
    {
        use HasApiTokens, Notifiable, CanDiscuss;
  5. Chatter安装命令已经安装了Laravel Passport,但您需要在app/Http/Kernel.php文件中的web中间件组中添加CreateFreshApiToken中间件。

    'web' => [
        // Other middleware...
        \Laravel\Passport\Http\Middleware\CreateFreshApiToken::class,
    ],

如果您在一个新的Laravel安装上安装Chatter,请直接跳到步骤9

  1. 确保您已经在Laravel Mix中配置了Tailwind CSS

  2. 将Chatter JS应用包含到您的resources/js/app.js

    require('./chatter/app')
  3. 填充您论坛的分类。您可以为您的项目创建一个新的种子。

  4. 运行Laravel服务器

    $ php artisan serve
  5. 现在,访问https://:8000/forums,您应该看到您的新论坛就在您面前!

测试

有一些工厂在数据库上生成一些测试信息。只需运行种子来执行这些工厂即可。

$ php artisan db:seed --class ChatterTableSeeder

路线图

  • 检查与Laravel 8的兼容性
  • 对帖子进行反应
  • 星此存储库
  • 固定讨论
  • 管理/ moderation面板(封锁用户,删除帖子)
  • 举报讨论
  • 编辑帖子讨论(带有版本控制)
  • 用户资料
  • 用户奖励
  • 在讨论和帖子中对其他用户进行标记
  • 创建测试
  • 使用本地化(翻译)

已知问题

如果您在Chatter安装中遇到问题,请参考已知问题。如果您无法解决问题,请提交新的工单。

自定义

配置

当您发布供应商资源时,您在您的 config 文件夹中添加了一个新文件,该文件名为 config/chatter.php。此文件包含了一组配置项,您可以使用这些配置项来配置您的论坛。

Vue 组件

Chatter 所使用的所有视图组件都通过预设安装发布到您的项目中。您可以在这些组件上进行所有需要的项目更改。

屏幕截图

Laravel chatter forum demo
Laravel chatter forum
Laravel chatter forum
Laravel chatter forum
Laravel chatter forum