vigstudio/vgcomments

Comments package for applications. Using this package, you can create and associate comments with Eloquent models.

Installs: 104

Dependents: 1

Suggesters: 0

Security: 0

Stars: 9

Watchers: 1

Forks: 5

Open Issues: 0

Type:laravel-library

1.1.4 2023-04-20 02:14 UTC

This package is auto-updated.

Last update: 2024-04-20 04:24:11 UTC


README

Comments package for applications. Using this package, you can create and associate comments with Eloquent models.

Latest Version on Packagist Total Downloads

Features

  • Add comments to any model
  • Multiple comment systems on the same page
  • Multiple auth guards
  • Image and File upload support
  • Drag and drop, copy and paste upload files support
  • reCaptcha v3 support
  • Emoji support
  • Markdown support
  • NSFW image upload check support

Pending Features

  • Allow guest to comment
  • Admin panel
  • Mention user with @
  • Emoji Suggestion Popup
  • Delete Report comment
  • Ratting system
  • Toolbar for comment
  • Comment history
  • Show Nested comments
  • Unit test

Packages

Prerequisites

Installation

composer require vigstudio/vgcomments

Usage

Publish the assets files with:

php artisan vendor:publish --tag=vgcomment-assets

You can publish the config with:

php artisan vendor:publish --tag=vgcomment-config

Edit prefix route in config/vgcomment.php file.

    /*
    |--------------------------------------------------------------------------
    | Route Prefix
    |--------------------------------------------------------------------------
    |
    | This is the URI path where VgComment will be accessible from. Feel free to
    | change this path to anything you like.
    |
    */
    'prefix' => 'vgcomment',

Edit connection name in config/vgcomment.php file.

    /*
    |--------------------------------------------------------------------------
    | Database Connection
    |--------------------------------------------------------------------------
    |
    | Here you may specify which of the database connections below you wish
    | to use as your default connection for all of your database work.
    |
    */
    'connection' => env('DB_CONNECTION', 'mysql'),

Edit table names in config/vgcomment.php file.

    /*
    |--------------------------------------------------------------------------
    | Name of Tables in Database
    |--------------------------------------------------------------------------
    |
    | This is the name of the table that will be created by the migration and
    | used by the Comment model shipped with this package.
    |
    | "comments"    : Comments Table
    | "files"       : Files Attachment Table
    | "reactions"   : Reactions Table
    | "reports"     : Reports Table
    | "settings"    : Settings Table
    |
    */
    'table' => [
        'comments' => 'vgcomments',
        'files' => 'vgcomment_files',
        'reactions' => 'vgcomment_reactions',
        'reports' => 'vgcomment_reports',
        'settings' => 'vgcomment_settings',
    ],

Config Column or Attribute User Model in config/vgcomment.php file.

        /*
    |--------------------------------------------------------------------------
    | Column of User Table for get Data
    |--------------------------------------------------------------------------
    |
    | This is the setting for column of user table for get data.
    | "user_column_name"  : Column name for get name user
    | "user_column_email" : Column name for get email user
    | "user_column_url"   : Column name for get url user
    |
    */
    'user_column_name' => 'name',
    'user_column_email' => 'email',
    'user_column_url' => 'url',
    'user_column_avatar_url' => 'avatar_url',

Set moderation user in config/vgcomment.php file.

        /*
    |--------------------------------------------------------------------------
    | Users Manager Comments
    |--------------------------------------------------------------------------
    |
    | This is the setting for users manager comments.
    | 'guard' => [user_id]
    |
    | Example:
    | 'web' => [1, 2, 3]
    | 'api' => [1, 2, 3]
    |
    */
    'moderation_users' => [
        'web' => [1],
    ],

Run the migrate command to create the necessary tables: Before running the migrate command, you can edit the config/vgcomment.php file to change the table names.

php artisan migrate

Additionally you may want to clear the config, cache, etc:

php artisan optimize:clear

Fontend for VgComments Package

Livewire Comments Packages

Comments package for applications using Livewire. Using this package, you can create and associate comments with Eloquent models.

Version 1.0.0

Blade Comments Packages (Coming soon)

Comments package for applications using Blade. Using this package, you can create and associate comments with Eloquent models.

VueJs Comments Packages (Coming soon)

Comments package for applications using Vuejs. Using this package, you can create and associate comments with Eloquent models.

AlpineJs Comments Packages (Coming soon)

Comments package for applications using Alpinejs. Using this package, you can create and associate comments with Eloquent models.

"Buy Me A Coffee"

"Donate Me!"