v1.0.0-beta

Features

SocialApparatus comes packed with features to help you build and grow your community. This guide provides an in-depth look at each major feature.

User Management

Authentication

Complete authentication system built on Laravel's robust security:

  • Registration - Customizable sign-up with optional email verification
  • Login - Secure login with remember me functionality
  • Password Reset - Email-based password recovery
  • Two-Factor Authentication - Optional 2FA via authenticator apps
  • Social Login - OAuth support for Google, GitHub, Twitter, and more
// Enable social login in config/services.php
'github' => [
    'client_id' => env('GITHUB_CLIENT_ID'),
    'client_secret' => env('GITHUB_CLIENT_SECRET'),
    'redirect' => '/auth/github/callback',
],

User Profiles

Rich user profiles with customizable fields:

Profile Photos

Avatar uploads with automatic resizing and Gravatar fallback

Cover Images

Customizable profile banners for personalization

Custom Fields

Add location, website, bio, and custom profile fields

Activity Stats

Post counts, reputation, member since, and activity graphs

Roles & Permissions

Flexible role-based access control:

Role Capabilities
Administrator Full access to all features, settings, and user management
Moderator Edit/delete content, manage reports, warn/mute users
Member Create posts/comments, send messages, join groups
Guest View public content only

Content & Discussions

Posts

Full-featured posting system:

  • Rich Text Editor - WYSIWYG editing with formatting toolbar
  • Media Embeds - YouTube, Vimeo, Twitter, and more
  • Image Uploads - Drag-and-drop image attachments
  • Categories & Tags - Organize content for easy discovery
  • Drafts - Auto-save and manual draft saving
  • Scheduling - Schedule posts for future publication

Comments & Replies

  • Threaded Replies - Nested conversations with unlimited depth
  • @Mentions - Tag users to notify them
  • Reactions - Like, love, laugh, and custom reactions
  • Edit History - Track changes to comments
  • Soft Deletes - "[Deleted]" placeholder preserves thread structure
// Livewire component for real-time comments
<livewire:comments :post="$post" />

// Comments update in real-time without page refresh
// New comments appear instantly for all viewers

Content Moderation

  • Report System - Users can flag inappropriate content
  • Moderation Queue - Review reported content in one place
  • Auto-moderation - Spam detection and profanity filtering
  • Shadow Banning - Hide problematic users without notification
  • Content Approval - Optional pre-publication review

Groups & Communities

Create sub-communities within your platform:

Group Types

Type Visibility Membership
Public Visible to everyone Anyone can join
Private Listed but content hidden Request to join / invite only
Secret Hidden from search Invite only

Group Features

  • Group Posts - Discussions visible only to members
  • Member Roles - Owner, admin, moderator, member
  • Group Events - Create and manage group events
  • Announcements - Pin important posts for all members
  • Custom Rules - Set group-specific guidelines

Social Features

Following System

Build connections between users:

  • Follow Users - See their posts in your feed
  • Followers Count - Display on profiles
  • Activity Feed - Personalized feed based on who you follow
  • Follow Suggestions - Discover new people based on interests

Reactions & Engagement

// Available reactions (customizable)
'reactions' => [
    'like' => '👍',
    'love' => '❤️',
    'laugh' => '😂',
    'wow' => '😮',
    'sad' => '😢',
    'angry' => '😠',
],

Bookmarks

  • Save posts for later reading
  • Organize bookmarks into collections
  • Private by default - only you can see your bookmarks

Messaging

Private Messages

  • One-on-One - Direct messages between users
  • Group Chats - Multi-participant conversations
  • Read Receipts - See when messages are read
  • Media Sharing - Send images and files
  • Message Search - Find past conversations
// Real-time messaging with Laravel Echo
Echo.private(`chat.${conversationId}`)
    .listen('MessageSent', (e) => {
        this.messages.push(e.message);
    });

Privacy Controls

  • Block users from sending messages
  • Allow messages only from followers
  • Disable messaging entirely per-user

Notifications

Notification Types

  • In-App - Bell icon with unread count
  • Email - Configurable email digests
  • Push - Browser push notifications (optional)
  • Real-time - Instant updates via WebSocket

Notification Events

Event Default Channels
New follower Database, Email
Comment on your post Database, Email
Reply to your comment Database, Email
@Mention Database, Email
Post liked Database
New message Database, Email
Group invite Database, Email

User Preferences

Users can customize which notifications they receive:

// In user settings
<livewire:notification-preferences />

// Toggle individual notification types on/off
// Choose between instant, daily digest, or weekly digest

Search

Full-Text Search

  • Posts - Search post titles and content
  • Users - Find users by name or username
  • Groups - Discover groups by name or description
  • Comments - Search within discussions
// Powered by Laravel Scout
// Supports: Algolia, Meilisearch, MySQL fulltext

SCOUT_DRIVER=meilisearch
MEILISEARCH_HOST=http://127.0.0.1:7700

Search Filters

  • Filter by content type
  • Filter by date range
  • Filter by category/tag
  • Sort by relevance, date, or popularity

Gamification (Optional)

Note: Gamification features are optional and can be disabled in configuration.

Reputation System

  • Earn points for posts, comments, and likes
  • Lose points for reported/deleted content
  • Unlock privileges at reputation thresholds

Badges

  • Achievement Badges - First post, 100 posts, etc.
  • Role Badges - Staff, moderator, verified
  • Custom Badges - Admin-assigned special badges

Leaderboards

  • Weekly/monthly/all-time rankings
  • Category-specific leaderboards
  • Opt-out option for privacy

Next Steps