Skip to content

Repository files navigation

Editorial ✍️🤖

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.


✨ Features

  • 🤖 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.

🛠️ Technology Stack

  • 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)

🚀 Quick Start (Local Development)

1. Prerequisites

  • PHP >= 8.3 with PDO, OpenSSL, Mbstring, Curl, and BCMath extensions
  • Composer 2.x
  • Node.js 18+ & NPM
  • SQLite / MySQL / PostgreSQL server

2. Installation Steps

  1. Clone the repository:

    git clone https://github.com/your-username/editorial.git
    cd editorial
  2. Install PHP & Node dependencies:

    composer install
    npm install
  3. Configure Environment File:

    cp .env.example .env
    php artisan key:generate
  4. Update .env Credentials: 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
  5. Run Migrations & Seeders:

    php artisan migrate --seed
  6. Create Storage Symlink:

    php artisan storage:link
  7. Start Development Servers: Run all development processes concurrently (Laravel server, queue listener, logs, Vite):

    composer run dev

📦 Production Deployment

For deploying to production servers (VPS, Nginx, Ubuntu), refer to the comprehensive DEPLOYMENT.md guide.

Quick Deployment Execution:

# Make deploy script executable
chmod +x deploy.sh

# Run automated deployment
./deploy.sh

📄 License

The Editorial platform is open-sourced software licensed under the MIT License.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages