Editorial is a modern SaaS article and blog publishing platform built with Laravel, Vite, Tailwind CSS, Pusher Channels, and integrated AI assistance. It provides writers and teams with intelligent content generation tools, real-time updates, role-based user access, and a production-ready infrastructure.
- 🤖 AI-Assisted Writing & Editing: Integrated AI agents (OpenAI, Gemini, Anthropic, DeepSeek, Cohere) for article generation, drafting, and topic brainstorming.
- ⚡ Real-Time Broadcasting: Live updates and notifications powered by Pusher Channels and Laravel Echo.
- 🔐 Authentication & Access Control: Built with Laravel Fortify & Sanctum supporting role-based access control (
Super Admin,Admin,User). - 📚 Content Management: Rich post creation, category management, Markdown support, and code syntax highlighting (
marked,highlight.js,dompurify). - 👥 Social Features: User follow/unfollow mechanisms, author profiles, and interactive notifications.
- 📱 Modern Responsive UI: Crafted with Vite, Tailwind CSS v4, dark mode accents, and smooth typography.
- 🚀 Production Ready: Pre-configured with automated deployment scripts (
deploy.sh), Nginx configurations, Supervisor queue worker daemons, and route/config cache optimization.
- Backend: PHP 8.3+, Laravel 11/13, Laravel Fortify, Laravel Sanctum, Laravel AI (
laravel/ai) - Frontend: Vite, Tailwind CSS v4, JavaScript (ES Modules), Laravel Echo, Pusher JS
- Broadcasting & Realtime: Pusher Channels (
pusher/pusher-php-server) - Database & Storage: MySQL / PostgreSQL / SQLite, Redis, Database Queue Driver
- Documentation: Built-in API documentation viewer (
/api-docs)
- PHP >= 8.3 with PDO, OpenSSL, Mbstring, Curl, and BCMath extensions
- Composer 2.x
- Node.js 18+ & NPM
- SQLite / MySQL / PostgreSQL server
-
Clone the repository:
git clone https://github.com/your-username/editorial.git cd editorial -
Install PHP & Node dependencies:
composer install npm install
-
Configure Environment File:
cp .env.example .env php artisan key:generate
-
Update
.envCredentials: Configure your database, Pusher credentials, and AI provider keys in.env:APP_NAME=Editorial APP_ENV=local APP_URL=http://localhost:8000 DB_CONNECTION=sqlite # Pusher Broadcasting BROADCAST_CONNECTION=pusher PUSHER_APP_ID=your_app_id PUSHER_APP_KEY=your_app_key PUSHER_APP_SECRET=your_app_secret PUSHER_APP_CLUSTER=mt1 # AI Provider API Keys OPENAI_API_KEY=your_openai_key GEMINI_API_KEY=your_gemini_key
-
Run Migrations & Seeders:
php artisan migrate --seed
-
Create Storage Symlink:
php artisan storage:link
-
Start Development Servers: Run all development processes concurrently (Laravel server, queue listener, logs, Vite):
composer run dev
For deploying to production servers (VPS, Nginx, Ubuntu), refer to the comprehensive DEPLOYMENT.md guide.
# Make deploy script executable
chmod +x deploy.sh
# Run automated deployment
./deploy.shThe Editorial platform is open-sourced software licensed under the MIT License.