Documentation | Admin Panel | Overview | Articles | Key Features | Why Commenter | Quick Start | Themes | Demo | Changelog | Testing | Roadmap | Security | License
![Commenter logo](https://private-user-images.githubusercontent.com/47297673/337554401-811e40d6-3988-4cb9-861d-cc9e98005d65.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ1MjM5ODEsIm5iZiI6MTcyNDUyMzY4MSwicGF0aCI6Ii80NzI5NzY3My8zMzc1NTQ0MDEtODExZTQwZDYtMzk4OC00Y2I5LTg2MWQtY2M5ZTk4MDA1ZDY1LmpwZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjQlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODI0VDE4MjEyMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPThiNDMxZDRhY2YxNjgyMjJmYjdmY2ZjNzRkOWEzOTEzNTg2OGFhYzU3NDFiNjMwNDM4MTQwNGVlNjViNDQ1NDEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.a-8iENHqeqClqZ_wYeoPMfYfpGQ382tyQZtTMNJU-UU)
Everything you need for your commenting system
A Laravel package that brings powerful commenting functionality to your apps ๐
Commenter is a feature-rich, modern package with an admin panel designed to address all your commenting needs. With this package, you won't need any additional tools for the comment functionality in your Laravel projects.
See the documentation for detailed installation and usage instructions.
<x-comments :model="$post" />
- โค๏ธ Simple, modern, and user-friendly interfaces.
- ๐ฑ Mobile responsiveness.
- ๐ WYSIWYG editor.
- ๐ Syntax highlighting.
- ๐ Robust security features.
- ๐ Effective spam prevention.
- ๐คฉ Reaction options.
- ๐ Support for threaded replies.
- ๐ค User mention functionality.
- ๐ฅ Display list of users who reacted (auth mode only).
- ๐ข Pagination.
- ๐ฎโโ๏ธSupport for both authentication mode and guest mode (mutually exclusive).
- ๐ Advanced filtering and sorting options.
- ๐ฅฐ Responsive design using a combination of Livewire and Alpine.js.
- ๐ Optimized performance. And much more.
The commenting feature is a common requirement for most websites. Allowing users to comment enables interaction and enhances the user experience. While Laravel offers a wealth of packages to meet various project needs, there are limited options when it comes to commenting features.
- Outdated: Uses outdated technologies and is not actively maintained.
- Lack of Features: Missing many essential features.
- No Admin Panel: Requires additional time to implement an admin panel independently.
- Bad Design: Interfaces are not user-friendly.
- Not Mobile Responsive: Not optimized for mobile devices.
- Performance Issues: May cause performance slowdowns.
- Lack of Configurability: Limited options for customization and configuration.
Due to these issues, most companies tend to opt for commercial packages or plugins. However, spending extra money on commercial packages reduces the company's overall profit. This package is developed to address all these shortcomings.
As a full-stack developer, I have personally encountered these issues. That's why I developed this packageโnot only for my own projects but also to benefit other developers.
composer require lakm/laravel-comments -W
php artisan commenter:install
Implement CommentableContract
and import Commentable
trait in commentable model.
use LakM\Comments\Concerns\Commentable;
use LakM\Comments\Contracts\CommentableContract;
class Post extends Model implements CommentableContract
{
use Commentable;
}
Implement CommenterContract
and import Commenter
trait in commenter model.
use LakM\Comments\Concerns\Commenter;
use LakM\Comments\Contracts\CommenterContract;
class User extends Model implements CommenterContract
{
use Commenter;
}
Include styles in your layout.
<html>
<head>
@commentsStyles
</head>
</html>
Include scripts in your layout.
<html>
<body>
@commentsScripts
</body>
</html>
Include the comments component with the related model.
<x-comments::index :model="$post" />
Warning
You can omit the index part but make sure to include the double colon. Otherwise Laravel will search for the component in project instead of package.
<x-comments:: :model="$post" />
You can change theme to your prefferred one. Consult documentation here for more info.
https://github.com/Lakshan-Madushanka/laravel-comments-demo
Note
This mini demo video provides a basic overview of Commenter. The full scope and features of Commenter are much more extensive. A comprehensive video will be published with the stable release.
Please see CHANGELOG for more information what has changed recently.
./vendor/bin/pest
Feature | Status |
---|---|
Comment/Reply Report | TBI |
Guest mode email verification | TBI |
Dark Mode Support |
Please see here for our security policy.
The MIT License (MIT). Please see License File for more information.