PHPackages                             larachat/chat-package - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. larachat/chat-package

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

larachat/chat-package
=====================

A comprehensive Laravel chat package with React, Inertia, and Socket.io

v1.0.1(9mo ago)04MITTypeScriptPHP ^8.2

Since Aug 17Pushed 9mo agoCompare

[ Source](https://github.com/imajkumar/ayra-laravel-react-messenger)[ Packagist](https://packagist.org/packages/larachat/chat-package)[ RSS](/packages/larachat-chat-package/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (7)Versions (4)Used By (0)

🚀 LaraChat - Comprehensive Laravel Chat Package
===============================================

[](#-larachat---comprehensive-laravel-chat-package)

A feature-rich, enterprise-grade real-time chat package for Laravel applications with React, Inertia.js, and Socket.io. Built with modern UI components using shadcn/ui and Tailwind CSS, designed to provide a WhatsApp-like experience with advanced collaboration features.

[![Laravel](https://camo.githubusercontent.com/1cf7e76377e33c525ce7f5645f062caa61e32d7f2a143fa261c5cbce90820e67/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c2d31312e782d7265642e737667)](https://camo.githubusercontent.com/1cf7e76377e33c525ce7f5645f062caa61e32d7f2a143fa261c5cbce90820e67/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c2d31312e782d7265642e737667)[![React](https://camo.githubusercontent.com/ae9753b9f718e260707297ff9be5b58e72f39d5e6afb0bac17c35bd2195a8975/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f52656163742d31382e782d626c75652e737667)](https://camo.githubusercontent.com/ae9753b9f718e260707297ff9be5b58e72f39d5e6afb0bac17c35bd2195a8975/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f52656163742d31382e782d626c75652e737667)[![TypeScript](https://camo.githubusercontent.com/dc63baa72c8d42e246e791f4e625fa55d7eec24c1332fa5ce0e0d64b459f96c3/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f547970655363726970742d352e782d626c75652e737667)](https://camo.githubusercontent.com/dc63baa72c8d42e246e791f4e625fa55d7eec24c1332fa5ce0e0d64b459f96c3/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f547970655363726970742d352e782d626c75652e737667)[![Socket.io](https://camo.githubusercontent.com/66f6a4c9373f35302a425ce1ab2ae2b1e4c7a1fb4895409390622d9a9447e2c4/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f536f636b65742e696f2d342e782d677265656e2e737667)](https://camo.githubusercontent.com/66f6a4c9373f35302a425ce1ab2ae2b1e4c7a1fb4895409390622d9a9447e2c4/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f536f636b65742e696f2d342e782d677265656e2e737667)[![License](https://camo.githubusercontent.com/784362b26e4b3546254f1893e778ba64616e362bd6ac791991d2c9e880a3a64e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d677265656e2e737667)](https://camo.githubusercontent.com/784362b26e4b3546254f1893e778ba64616e362bd6ac791991d2c9e880a3a64e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d677265656e2e737667)

🌟 Features Overview
-------------------

[](#-features-overview)

### 💬 Core Chat Features

[](#-core-chat-features)

- **1:1 Messaging** – Private direct chats with real-time updates
- **Group Chats** – Multiple participants in single chat rooms with role management
- **Message Reactions** – Emoji reactions for quick responses (like WhatsApp)
- **Threaded Conversations** – Reply within threads (MS Teams, Slack style)
- **Read Receipts** – See who has read your messages
- **Typing Indicators** – Real-time "typing..." visibility
- **Message Editing** – Edit sent messages with edit history
- **Message Deletion** – Soft delete with admin override
- **Message Search** – Full-text search across conversations

### 📁 Collaboration Features

[](#-collaboration-features)

- **File Sharing &amp; Storage** – Documents, images, videos, audio files
- **Cloud Integration** – Google Drive, OneDrive, Dropbox ready
- **Inline Previews** – Rich previews for docs, links, videos
- **Pinned Messages** – Important messages stay at the top
- **Searchable Chat History** – Find old messages and files easily
- **AI Chatbots/Assistants** – Reminders, task automation, smart responses
- **Message Scheduling** – Send messages at specific times
- **Translation in Chat** – Built-in multi-language translator
- **Polls &amp; Surveys** – Quick team decisions and feedback
- **Cross-Device Sync** – Seamless mobile, desktop, web experience
- **Offline Messaging** – Queue messages when offline, deliver when connected
- **Custom Stickers &amp; GIFs** – Fun, engaging communication
- **Themes &amp; Dark Mode** – Personalization and accessibility

### �� Technical Features

[](#-technical-features)

- **Real-time Communication** – Socket.io with fallback to Pusher
- **Modern UI/UX** – WhatsApp-like interface with shadcn/ui
- **Responsive Design** – Works perfectly on all devices
- **TypeScript Support** – Full type safety and IntelliSense
- **Inertia.js Integration** – Seamless Laravel + React experience
- **Admin Panel** – Comprehensive moderation and analytics tools
- **API Ready** – RESTful API endpoints for mobile apps
- **Event Broadcasting** – Laravel events for real-time updates
- **Queue Processing** – Background job processing for heavy operations
- **Caching** – Redis-based caching for performance
- **Rate Limiting** – Built-in security and spam protection

📋 Requirements
--------------

[](#-requirements)

- **PHP**: 8.2 or higher
- **Laravel**: 11.x
- **Node.js**: 18 or higher
- **Database**: PostgreSQL 12+ / MySQL 8+ / SQLite 3.35+
- **Redis**: 6.0+ (for caching and queues)
- **WebSocket**: Socket.io server or Pusher account

🛠️ Installation
---------------

[](#️-installation)

### 1. Install the Package

[](#1-install-the-package)

```
composer require larachat/chat-package
```

### 2. Publish Package Assets

[](#2-publish-package-assets)

```
php artisan vendor:publish --provider="LaraChat\ChatPackage\ChatPackageServiceProvider"
```

### 3. Run Migrations

[](#3-run-migrations)

```
php artisan migrate
```

### 4. Install Frontend Dependencies

[](#4-install-frontend-dependencies)

```
cd resources/js
npm install
```

### 5. Build Frontend Assets

[](#5-build-frontend-assets)

```
npm run build
```

### 6. Configure Environment Variables

[](#6-configure-environment-variables)

Add these to your `.env` file:

```
# Chat Package Configuration
CHAT_REALTIME_DRIVER=socket.io
CHAT_SOCKET_HOST=localhost
CHAT_SOCKET_PORT=3001
CHAT_FILE_DISK=local
CHAT_MAX_FILE_SIZE=10240

# Pusher (Alternative to Socket.io)
PUSHER_APP_ID=your_app_id
PUSHER_APP_KEY=your_app_key
PUSHER_APP_SECRET=your_app_secret
PUSHER_APP_CLUSTER=your_cluster

# File Storage
FILESYSTEM_DISK=local
CHAT_FILE_DISK=local

# Redis (for caching and queues)
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

# Queue Configuration
QUEUE_CONNECTION=redis
```

### 7. Start Socket.io Server

[](#7-start-socketio-server)

```
node resources/js/socket-server.js
```

🎯 Quick Start Guide
-------------------

[](#-quick-start-guide)

### 1. Basic Setup

[](#1-basic-setup)

After installation, the package automatically registers:

- **Routes**: `/lara-chat` and `/lara-chat-admin`
- **Middleware**: `chat.auth` and `chat.admin`
- **Service Provider**: `ChatPackageServiceProvider`
- **Facade**: `Chat` facade for easy access

### 2. Access the Chat Interface

[](#2-access-the-chat-interface)

- **User Chat**: Visit `/lara-chat` in your browser
- **Admin Panel**: Visit `/lara-chat-admin` for moderation tools

### 3. Basic Usage Example

[](#3-basic-usage-example)

```
use LaraChat\ChatPackage\Services\ChatService;

class ChatController extends Controller
{
    public function index(ChatService $chatService)
    {
        $conversations = $chatService->getUserConversations(auth()->id());
        $unreadCounts = $chatService->getUnreadCounts(auth()->id());

        return Inertia::render('Chat/Index', [
            'conversations' => $conversations,
            'unreadCounts' => $unreadCounts
        ]);
    }
}
```

🎨 UI Components
---------------

[](#-ui-components)

### Available Components

[](#available-components)

The package includes pre-built React components:

```
// Main chat interface
import ChatInterface from '@/components/ChatInterface';

// Individual message display
import MessageBubble from '@/components/MessageBubble';

// File upload component
import FileUpload from '@/components/FileUpload';

// Emoji selection
import EmojiPicker from '@/components/EmojiPicker';

// Typing status
import TypingIndicator from '@/components/TypingIndicator';

// Conversation list
import ConversationList from '@/components/ConversationList';
```

### Component Usage Example

[](#component-usage-example)

```
import React from 'react';
import ChatInterface from '@/components/ChatInterface';

export default function ChatPage({ conversation, messages, user }) {
  return (

  );
}
```

🔧 Configuration
---------------

[](#-configuration)

### Chat Settings

[](#chat-settings)

```
// config/chat.php
'features' => [
    'private_chats' => true,        // Enable 1:1 messaging
    'group_chats' => true,          // Enable group conversations
    'file_sharing' => true,         // Enable file uploads
    'message_reactions' => true,    // Enable emoji reactions
    'threaded_conversations' => true, // Enable message threading
    'read_receipts' => true,        // Enable read receipts
    'typing_indicators' => true,    // Enable typing indicators
    'message_scheduling' => true,   // Enable scheduled messages
    'message_translation' => true,  // Enable translation
    'polls_surveys' => true,        // Enable polls and surveys
    'ai_assistants' => true,        // Enable AI features
    'custom_stickers' => true,      // Enable custom stickers
    'themes_dark_mode' => true,     // Enable themes
    'offline_messaging' => true,    // Enable offline queuing
],
```

### File Upload Settings

[](#file-upload-settings)

```
'uploads' => [
    'disk' => env('CHAT_FILE_DISK', 'local'),
    'max_size' => env('CHAT_MAX_FILE_SIZE', 10240), // 10MB
    'allowed_types' => [
        'image' => ['jpg', 'jpeg', 'png', 'gif', 'webp'],
        'document' => ['pdf', 'doc', 'docx', 'txt', 'rtf'],
        'video' => ['mp4', 'avi', 'mov', 'wmv'],
        'audio' => ['mp3', 'wav', 'ogg', 'm4a'],
    ],
    'path' => 'chat-files',
],
```

### Real-time Configuration

[](#real-time-configuration)

```
'realtime' => [
    'driver' => env('CHAT_REALTIME_DRIVER', 'socket.io'),
    'socket' => [
        'host' => env('CHAT_SOCKET_HOST', 'localhost'),
        'port' => env('CHAT_SOCKET_PORT', 3001),
        'namespace' => '/chat',
    ],
    'pusher' => [
        'app_id' => env('PUSHER_APP_ID'),
        'app_key' => env('PUSHER_APP_KEY'),
        'app_secret' => env('PUSHER_APP_SECRET'),
        'app_cluster' => env('PUSHER_APP_CLUSTER'),
    ],
],
```

🚀 Advanced Features
-------------------

[](#-advanced-features)

### 1. Real-time Communication

[](#1-real-time-communication)

```
import { useSocket } from '@/hooks/useSocket';

const { socket, isConnected } = useSocket();

// Listen for incoming messages
socket.on('message:received', (data) => {
    console.log('New message:', data);
    // Handle new message
});

// Send typing indicator
socket.emit('typing:started', { conversation_id: 1 });

// Stop typing indicator
socket.emit('typing:stopped', { conversation_id: 1 });
```

### 2. File Handling

[](#2-file-handling)

```
use LaraChat\ChatPackage\Services\ChatService;

$chatService = app(ChatService::class);

// Upload file
$file = $chatService->uploadFile($request->file('file'), $conversationId);

// Get file URL
$url = $chatService->getFileUrl($file);

// Delete file
$chatService->deleteFile($file);
```

### 3. Message Scheduling

[](#3-message-scheduling)

```
$message = $chatService->scheduleMessage([
    'conversation_id' => $conversationId,
    'user_id' => auth()->id(),
    'content' => 'Hello from the future!',
    'scheduled_at' => now()->addHours(2),
]);

// Cancel scheduled message
$chatService->cancelScheduledMessage($message->id);
```

### 4. Polls and Surveys

[](#4-polls-and-surveys)

```
$poll = $chatService->createPoll($conversationId, auth()->id(), [
    'question' => 'What should we have for lunch?',
    'options' => ['Pizza', 'Burger', 'Salad', 'Sushi'],
    'expires_at' => now()->addDay(),
]);

// Vote on poll
$chatService->votePoll($poll->id, auth()->id(), 0); // Vote for Pizza
```

### 5. Message Reactions

[](#5-message-reactions)

```
// Add reaction
$message->addReaction(auth()->id(), '👍');

// Remove reaction
$message->removeReaction(auth()->id(), '👍');

// Get reaction count
$count = $message->getReactionCount('👍');
```

### 6. Threaded Conversations

[](#6-threaded-conversations)

```
// Create reply to a message
$reply = $chatService->createMessage([
    'conversation_id' => $conversationId,
    'user_id' => auth()->id(),
    'content' => 'This is a reply',
    'parent_id' => $parentMessage->id,
]);

// Get all replies to a message
$replies = $message->replies()->with(['user', 'files'])->get();
```

🎭 Customization
---------------

[](#-customization)

### Custom Themes

[](#custom-themes)

```
/* resources/css/chat.css */
.chat-theme-custom {
    --chat-primary: #6366f1;
    --chat-secondary: #8b5cf6;
    --chat-background: #f8fafc;
    --chat-foreground: #1e293b;
    --chat-accent: #f59e0b;
    --chat-muted: #64748b;
}

.chat-theme-dark {
    --chat-primary: #3b82f6;
    --chat-secondary: #8b5cf6;
    --chat-background: #0f172a;
    --chat-foreground: #f1f5f9;
    --chat-accent: #f59e0b;
    --chat-muted: #475569;
}
```

### Custom Components

[](#custom-components)

```
// resources/js/components/CustomMessageBubble.tsx
import { MessageBubble } from 'larachat-chat-package';

const CustomMessageBubble = ({ message, ...props }) => {
    return (

                {new Date(message.created_at).toLocaleTimeString()}

    );
};
```

### Custom Middleware

[](#custom-middleware)

```
// app/Http/Middleware/CustomChatMiddleware.php
namespace App\Http\Middleware;

use Closure;
use Illuminate\Http\Request;

class CustomChatMiddleware
{
    public function handle(Request $request, Closure $next)
    {
        // Custom logic before chat access
        if (!auth()->user()->hasPermission('chat.access')) {
            abort(403, 'Chat access denied');
        }

        return $next($request);
    }
}
```

🔒 Security Features
-------------------

[](#-security-features)

### Middleware

[](#middleware)

```
// Register custom middleware
Route::middleware(['web', 'auth', 'chat.auth', 'custom.chat'])->group(function () {
    Route::prefix('lara-chat')->group(function () {
        // Chat routes
    });
});
```

### Rate Limiting

[](#rate-limiting)

```
'security' => [
    'rate_limiting' => [
        'enabled' => true,
        'max_attempts' => 60,
        'decay_minutes' => 1,
    ],
],
```

### Content Filtering

[](#content-filtering)

```
'content_filtering' => [
    'enabled' => true,
    'blocked_words' => ['spam', 'inappropriate'],
    'profanity_filter' => true,
],
```

### File Security

[](#file-security)

```
'file_scanning' => [
    'enabled' => true,
    'antivirus_check' => false,
    'allowed_extensions' => ['jpg', 'png', 'pdf', 'doc'],
],
```

📱 Mobile Support
----------------

[](#-mobile-support)

### Progressive Web App (PWA)

[](#progressive-web-app-pwa)

The package includes PWA features:

```
// public/manifest.json
{
    "name": "LaraChat",
    "short_name": "Chat",
    "start_url": "/lara-chat",
    "display": "standalone",
    "background_color": "#ffffff",
    "theme_color": "#3b82f6"
}
```

### Responsive Design

[](#responsive-design)

- **Mobile-first** approach
- **Touch-friendly** interface
- **Gesture support** for mobile devices
- **Offline message queuing**
- **Push notifications** (when configured)

🧪 Testing
---------

[](#-testing)

### Package Tests

[](#package-tests)

```
# Run package tests
php artisan test --filter=ChatPackage

# Run specific test file
php artisan test tests/Feature/ChatTest.php

# Run with coverage
php artisan test --coverage
```

### Frontend Tests

[](#frontend-tests)

```
# Run React component tests
npm test

# Run tests in watch mode
npm run test:watch

# Run tests with coverage
npm run test:coverage
```

### Example Test

[](#example-test)

```
// tests/Feature/ChatTest.php
namespace Tests\Feature;

use Tests\TestCase;
use LaraChat\ChatPackage\Models\Conversation;
use LaraChat\ChatPackage\Models\Message;

class ChatTest extends TestCase
{
    public function test_user_can_send_message()
    {
        $user = User::factory()->create();
        $conversation = Conversation::factory()->create();

        $response = $this->actingAs($user)
            ->postJson("/lara-chat/conversations/{$conversation->id}/messages", [
                'content' => 'Hello World!',
                'type' => 'text'
            ]);

        $response->assertStatus(200);
        $this->assertDatabaseHas('chat_messages', [
            'content' => 'Hello World!',
            'user_id' => $user->id
        ]);
    }
}
```

📊 Performance Optimization
--------------------------

[](#-performance-optimization)

### Caching Strategy

[](#caching-strategy)

```
'performance' => [
    'message_pagination' => 50,
    'conversation_pagination' => 20,
    'cache_ttl' => 3600, // 1 hour
    'queue_workers' => 2,
    'websocket_connections' => 1000,
],
```

### Database Optimization

[](#database-optimization)

```
-- Add indexes for better performance
CREATE INDEX idx_chat_messages_conversation_created
ON chat_messages(conversation_id, created_at);

CREATE INDEX idx_chat_participants_user_conversation
ON chat_participants(user_id, conversation_id);
```

### Queue Processing

[](#queue-processing)

```
# Start queue workers
php artisan queue:work --queue=chat,default

# Monitor queues
php artisan queue:monitor

# Failed job handling
php artisan queue:failed
php artisan queue:retry all
```

🔍 Monitoring &amp; Analytics
----------------------------

[](#-monitoring--analytics)

### System Health

[](#system-health)

```
# Check system health
php artisan chat:health

# View performance metrics
php artisan chat:metrics

# System cleanup
php artisan chat:cleanup
```

### Admin Analytics

[](#admin-analytics)

```
// Get conversation statistics
$stats = $chatService->getConversationStats();

// Get user activity
$activity = $chatService->getUserActivity($userId);

// Get file usage statistics
$fileStats = $chatService->getFileUsageStats();
```

🚀 Deployment
------------

[](#-deployment)

### Production Setup

[](#production-setup)

```
# Optimize for production
php artisan config:cache
php artisan route:cache
php artisan view:cache

# Build frontend assets
npm run build

# Start Socket.io server with PM2
pm2 start socket-server.js --name "larachat-socket"
```

### Environment Configuration

[](#environment-configuration)

```
# Production settings
APP_ENV=production
APP_DEBUG=false
CHAT_REALTIME_DRIVER=pusher
CHAT_FILE_DISK=s3
QUEUE_CONNECTION=redis
CACHE_DRIVER=redis
SESSION_DRIVER=redis
```

### Docker Support

[](#docker-support)

```
# Dockerfile for Socket.io server
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
EXPOSE 3001
CMD ["node", "socket-server.js"]
```

🤝 Contributing
--------------

[](#-contributing)

### Development Setup

[](#development-setup)

```
# Clone repository
git clone https://github.com/imajkumar/ayra-laravel-react-messenger.git

# Install dependencies
composer install
npm install

# Run tests
php artisan test
npm test

# Build assets
npm run build
```

### Code Standards

[](#code-standards)

- Follow PSR-12 coding standards
- Write comprehensive tests
- Update documentation
- Use conventional commits

### Pull Request Process

[](#pull-request-process)

1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Add tests
5. Submit a pull request

📄 License
---------

[](#-license)

This package is open-sourced software licensed under the [MIT license](LICENSE).

🆘 Support
---------

[](#-support)

### Documentation

[](#documentation)

- **Package Docs**:
- **API Reference**:
- **Examples**:

### Community

[](#community)

- **GitHub Issues**: [Report bugs](https://github.com/imajkumar/ayra-laravel-react-messenger/issues)
- **Discord**: [Join our community](https://discord.gg/larachat)
- **Stack Overflow**: [Tag: larachat](https://stackoverflow.com/questions/tagged/larachat)

### Professional Support

[](#professional-support)

- **Email**:
- **Slack**: [Enterprise support](https://larachat.slack.com)
- **Consulting**: [Custom implementations](https://larachat.com/consulting)

🙏 Acknowledgments
-----------------

[](#-acknowledgments)

- [Laravel](https://laravel.com) - The PHP framework for web artisans
- [Inertia.js](https://inertiajs.com) - Modern monoliths
- [shadcn/ui](https://ui.shadcn.com) - Beautiful components
- [Socket.io](https://socket.io) - Real-time bidirectional communication
- [Tailwind CSS](https://tailwindcss.com) - Utility-first CSS framework
- [React](https://reactjs.org) - A JavaScript library for building user interfaces

📈 Roadmap
---------

[](#-roadmap)

### Version 1.1 (Q4 2024)

[](#version-11-q4-2024)

- Voice messages support
- Video calling integration
- Advanced file previews
- Message encryption

### Version 1.2 (Q1 2025)

[](#version-12-q1-2025)

- Multi-tenant support
- Advanced analytics dashboard
- Custom bot framework
- Mobile app SDKs

### Version 2.0 (Q2 2025)

[](#version-20-q2-2025)

- Microservices architecture
- Advanced AI features
- Enterprise SSO integration
- Advanced security features

---

**Made with ❤️ by the LaraChat Team**

*Building the future of real-time communication, one message at a time.*

###  Health Score

31

—

LowBetter than 68% of packages

Maintenance58

Moderate activity, may be stable

Popularity3

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

274d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/3478c6f316bc4f261d2c722c88ff9e6c362c7146177a8210c128738e953c65ce?d=identicon)[imajkumar](/maintainers/imajkumar)

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/larachat-chat-package/health.svg)

```
[![Health](https://phpackages.com/badges/larachat-chat-package/health.svg)](https://phpackages.com/packages/larachat-chat-package)
```

###  Alternatives

[blair2004/nexopos

The Free Modern Point Of Sale System build with Laravel, TailwindCSS and Vue.js.

1.2k2.3k](/packages/blair2004-nexopos)[nasirkhan/laravel-starter

A CMS like modular Laravel starter project.

1.4k2.7k](/packages/nasirkhan-laravel-starter)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
