Skip to content

liberu-social-network/social-network-laravel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

308 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Liberu Social Network

License: MIT Open Source Love Test Coverage Latest Release

Install Tests Docker

Build your own social network β€” open, extensible, and privacy-first

Contact us on WhatsApp YouTube Facebook Instagram X LinkedIn GitHub

About

Liberu Social Network is a fully open-source, modular social networking platform built on Laravel 12, PHP 8.5, Filament 5, and Livewire 4. It provides a production-ready foundation for building community-driven applications with modern tooling, a rich admin panel, and an extensible architecture.

Whether you are a developer looking to launch a niche social platform, an enterprise that needs a self-hosted community tool, or an open-source enthusiast, Liberu Social Network gives you a complete, battle-tested starting point you can own and customise.

Key highlights:

  • πŸš€ Modern stack β€” Laravel 12, PHP 8.5, Livewire 4, Filament 5
  • πŸ” Privacy-first β€” granular privacy settings per user
  • 🧩 Modular architecture β€” enable or disable features without touching core code
  • ⚑ High performance β€” optional RoadRunner/Octane support
  • πŸ›‘οΈ Role-based access control β€” powered by Spatie Laravel Permission and Filament Shield
  • 🌐 REST API β€” full API for friends, followers, messaging, and search

Features

  • Authentication β€” Jetstream with optional Socialstream (social login)
  • User Profiles β€” avatars, bios, and customisable profile pages
  • Friend Request System
    • Send, accept, and reject friend requests
    • View friends list and pending requests
    • Friend count displayed on profiles
  • Follower System
    • Follow and unfollow other users
    • View followers and following lists
    • Follower/following counts on profiles
  • User Search β€” search by name or email with quick add/follow actions
  • Private Messaging β€” direct conversations between users
  • Real-time Notifications β€” instant alerts for social interactions
  • Activity Feed β€” chronological stream of network activity
  • Media Sharing β€” upload and share images and other media
  • Groups β€” create and manage community groups
  • Admin Panel (Filament 5)
    • User management with role-based access control
    • Role and permission management via Filament Shield
    • Email verification management
    • Account status controls
    • Module management
    • Menu management
    • User statistics widgets
  • RESTful API
    • Friend request endpoints (send, accept, reject)
    • Follower management endpoints
    • User search API
    • Full API documentation available
  • Modular Architecture β€” add or remove features via the module system

Admin Panel

The admin panel is accessible at /admin and provides comprehensive management capabilities:

  • User Management: Create, edit, and delete users with role assignment
  • Role & Permission System: Powered by Spatie Laravel Permission and Filament Shield
    • Super Admin: Full system access
    • Admin: Standard administrative privileges
    • Panel User: Basic panel access
    • Free: Limited view-only permissions
  • Dashboard: Overview of system statistics and quick actions
  • Module System: Enable/disable application modules
  • Menu Management: Configure navigation menus

For detailed documentation, see Admin Panel User Management Guide.

Installation

Requirements: PHP 8.5+, Composer, Node.js, and (optionally) Docker.

Option 1 β€” Interactive command-line installer (recommended)

Run the interactive installer script from the project root:

bash setup.sh

The script will guide you through copying .env.example to .env, setting your database credentials, installing dependencies, running migrations, seeding the database, running tests, and optionally starting the development server. For users who prefer a graphical experience, a GUI-based setup wizard is also available β€” follow the on-screen prompts to complete each step.

Option 2 β€” Manual setup

# 1. Copy environment file
cp .env.example .env

# 2. Install PHP dependencies
composer install

# 3. Generate application key
php artisan key:generate

# 4. Configure .env (DB credentials, mail, app URL), then run:
php artisan migrate --seed

# 5. Install and build frontend assets
npm install && npm run build

# 6. Start the development server
php artisan serve --host=127.0.0.1 --port=8000

Option 3 β€” Docker

docker build -t liberu-social-network .
docker run -p 8000:8000 liberu-social-network

Option 4 β€” Laravel Sail

./vendor/bin/sail up

Note: Ensure your .env database credentials are correct before running migrations. The setup.sh script will prompt you to confirm your configuration before proceeding.

Database Schema

For detailed information about the database structure, see the Database Schema Documentation which includes complete table definitions, entity relationship diagrams, migration instructions, and seeding guidelines.

API Documentation

The friend request and follower system includes a comprehensive RESTful API. See the API documentation for details on authentication, endpoints, and error handling.

Related Projects

A curated list of open-source projects from the Liberu organisation:

Project Repository
Accounting liberu-accounting/accounting-laravel
Automation liberu-automation/automation-laravel
Billing liberu-billing/billing-laravel
Boilerplate liberusoftware/boilerplate
Browser Game liberu-browser-game/browser-game-laravel
CMS liberu-cms/cms-laravel
Control Panel liberu-control-panel/control-panel-laravel
CRM liberu-crm/crm-laravel
eCommerce liberu-ecommerce/ecommerce-laravel
Genealogy liberu-genealogy/genealogy-laravel
Maintenance liberu-maintenance/maintenance-laravel
Real Estate liberu-real-estate/real-estate-laravel
Social Network liberu-social-network/social-network-laravel

Contributing

Contributions are warmly welcome! Here is how to get involved:

  1. Fork the repository and create your feature branch (git checkout -b feature/my-feature).
  2. Make your changes, following the existing code style and conventions.
  3. Write or update tests to cover your changes where applicable.
  4. Commit your changes with a clear, descriptive commit message.
  5. Push your branch and open a Pull Request against the main branch.
  6. For major changes, please open an issue first to discuss your approach and ensure it aligns with the project direction.

All contributors are expected to follow our code of conduct. We review pull requests promptly and provide constructive feedback.

License

This project is licensed under the MIT License β€” see the LICENSE file for details.

The MIT License is one of the most permissive open-source licences available. It means you can:

  • βœ… Use the software for any purpose, including commercial projects
  • βœ… Modify and adapt the code to suit your needs
  • βœ… Distribute original or modified versions freely
  • βœ… Include it in proprietary software without restriction

The only requirement is that the original copyright notice and licence text are preserved in any distributions.


Maintained by Liberu β€” building open-source tools for everyone.

Releases

No releases published

Sponsor this project

 

Packages

 
 
 

Contributors