musonza / Groups
Licence: mit
A Laravel 5 user groups package
Stars: ✭ 66
Projects that are alternatives of or similar to Groups
Doesangue Core
Online platform that connects people interested in blood donation
Stars: ✭ 91 (+37.88%)
Mutual labels: laravel, social-network
Laravel Social Network
Laravel 5.4 - location-based social network
Stars: ✭ 114 (+72.73%)
Mutual labels: laravel, social-network
Bee-Connect
Ruby on Rails App. A good example of how to build social networking system with live chat support, blogging,groups etc.
Stars: ✭ 30 (-54.55%)
Mutual labels: groups, social-network
Pixelfed
Photo Sharing. For Everyone.
Stars: ✭ 3,237 (+4804.55%)
Mutual labels: laravel, social-network
Opensource Socialnetwork
Open Source Social Network (OSSN) is a social networking software written in PHP. It allows you to make a social networking website and helps your members build social relationships, with people who share similar professional or personal interests. It is available in 16 international languages.
Stars: ✭ 710 (+975.76%)
Mutual labels: groups, social-network
Socialnetwork
Laravel and Vue.JS powerd social network
Stars: ✭ 101 (+53.03%)
Mutual labels: laravel, social-network
linkcast
Share links, images, blogs and everything on the web with your friends in one click using this chrome extension Linkcast
Stars: ✭ 13 (-80.3%)
Mutual labels: groups, social-network
clubi
A group-oriented social media platform written in Laravel and Vue
Stars: ✭ 29 (-56.06%)
Mutual labels: groups, social-network
Laravel Social Auto Posting
🌈Laravel social auto posting
Stars: ✭ 306 (+363.64%)
Mutual labels: laravel, social-network
Laravel Love
Add Social Reactions to Laravel Eloquent Models. It lets people express how they feel about the content. Fully customizable Weighted Reaction System & Reaction Type System with Like, Dislike and any other custom emotion types. Do you react?
Stars: ✭ 822 (+1145.45%)
Mutual labels: laravel, social-network
Alumni Network
The official home of the freeCodeCamp Alumni Network ⭐️ ⭐️ ⭐️
Stars: ✭ 65 (-1.52%)
Mutual labels: social-network
Laravel Mongodb Passport
A package to get Laravel Passport working with MongoDB
Stars: ✭ 64 (-3.03%)
Mutual labels: laravel
Watchable
Enable users to watch various models in your application.
Stars: ✭ 65 (-1.52%)
Mutual labels: laravel
Laravel Potion
laravel - Potion is a pure PHP asset manager for Laravel 5 based off of Assetic.
Stars: ✭ 63 (-4.55%)
Mutual labels: laravel
Laravel Email Verification
Laravel package to handle user verification using an activation mail
Stars: ✭ 63 (-4.55%)
Mutual labels: laravel
Laravel Auth Tests
Some boilerplate tests for Laravel's auth scaffold
Stars: ✭ 62 (-6.06%)
Mutual labels: laravel
Table of content
- Description
-
Installation
- Install with Composer
- Add service provider to App
- Add facade alias to App
- Publish vendor with Artisan
- Tables details
- Make migration with Artisan
-
Usage
-
Groups
- Create, Delete, Update, Users list, Add member, Join request, Accept join, Decline join, Join request list
-
Posts
- Create, Get, Update, Delete, Add to group, Group posts list, User posts list
-
Comments
- Add, Get, Update, Delete
-
Reporting
- Report, Remove, Toggle , Count
-
Likes
- Like, Unlike, Toggle, Count
-
Groups
Description
This package allows you to add user groups (groups, comment, like ...) system to your Laravel 5 application.
Installation
- Via Composer, from the command line, run :
composer require musonza/groups
- Add the service provider to
./config/app.php
inproviders
array, like :
/*
* Package Service Providers...
*/
Musonza\Groups\GroupsServiceProvider::class,
- You can use the facade for shorter code.
Add this to
./config/app.php
at the end ofaliases
array :
'Groups' => Musonza\Groups\Facades\GroupsFacade::class,
Note : The class is bound to the ioC as Groups.
$groups = App::make('Groups');
- From the command line, publish the assets:
php artisan vendor:publish
Note : This will publish database migrations in
./database/migrations/
.
create_groups_table // main groups table
id
name
description
short_description
image
url
user_id
private
conversation_id
extra_info
settings
# Usage
## Groups
1. ##### Create a group
```php
$group = Groups::create($userId, $data);
Note : Accepted fields in $data array :
$data = [
'name' => '',
'description' => '', // optional
'short_description' => '', // optional
'image' => '', // optional
'private' => 0, // 0 (public) or 1 (private)
'extra_info' => '', // optional
'settings' => '', // optional
'conversation_id' => 0, // optional if you want to add messaging to your groups this can be useful
];
$group->delete();
$group->update($updateArray);
$user = Groups::getUser($userId);
$group->addMembers([$userId, $userId2, ...]);
$group->request($userId);
$group->acceptRequest($userId);
$group->declineRequest($userId);
$requests = $group->requests;
$user = Groups::getUser($userId);
$count = $user->groups->count();
$group->leave([$userId, $userId2, ...]);
Posts
$post = Groups::createPost($data);
Note : Acceptable values for Post $data array
$data = [
'title' => '',
'user_id' => 0,
'body' => '',
'type' => '',
'extra_info' => '',
];
$post = Groups::post($postId);
$post->update($data);
$post->delete();
$group->attachPost($postId);
$group->attachPost([$postId, $postId2, ...]);
$group->detachPost($postId);
$posts = $group->posts;
$posts = $group->posts()->paginate(5);
$posts = $group->posts()->orderBy('id', 'DESC')->paginate(5);
$user = Groups::getUser($userId);
$posts = $user->posts;
Comments
Note : Acceptable values for Comment $data array
$data = [
'post_id' => 0,
'user_id' => 0,
'body' => '',
];
$comment = Groups::addComment($data);
$comment = Groups::comment($commentId);
$comment->update($data);
$comment->delete();
Reporting
$comment->report($userIdOfReporter);
$post->report($userIdOfReporter);
$post->removeReport($userId);
$comment->removeReport($userId);
$post->toggleReport($userId);
$comment->toggleReport($userId);
$commentReports = $comment->reportsCount;
$postReports = $post->reportsCount;
Likes
$post->like($userId);
$comment->like($userId);
$post->unlike($userId);
$comment->unlike($userId);
$post->toggleLike($userId);
$comment->toggleLike($userId);
$postLikes = $post->likesCount;
$commentLikes = $comment->likesCount;
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].