Skip to content

seo-platform

complexity tests ci/cd docs

SEO platform for managing clients, keyword data, plans, and tasks with AI suggestions and third-party integrations like DataForSEO and Google Search.

Repository: DynamicDigitalUSA/seo-platform
Pattern: MVC with server-side rendering via Inertia.js and client-side React components
Entry Points: app/Http/Controllers, routes/web.php, resources/js/app.jsx
Tags: seo laravel react inertia keyword-tracking dataforseo

Last scanned: Mon, 29 Jun 2026 16:06:17 GMT


Purpose

SEO platform for managing clients, keyword data, plans, and tasks with AI suggestions and third-party integrations like DataForSEO and Google Search.

Tech Stack

  • Laravel
  • PHP
  • React
  • Inertia.js
  • Tailwind CSS
  • Vite
  • SQLite
  • Radix UI
  • Zustand
  • DnD Kit
  • Recharts
  • Axios

Architecture

The application follows Laravel's MVC pattern with Inertia.js for server-side routing and React for interactive UI components. Controllers handle HTTP requests and return Inertia responses; middleware ensures organization scoping and client access. The frontend uses Tailwind CSS and Radix UI components, with state managed via Zustand.

Architecture Diagram

graph TD
    subgraph Client
        A[React UI Components] --> B[Inertia.js Client]
        B --> C[Zustand State]
        A --> D[Axios HTTP]
    end

    subgraph Server
        E[Web Routes<br/>routes/web.php] --> F[Laravel Controllers<br/>app/Http/Controllers]
        F --> G[Inertia.js Server]
        G --> H[Middleware<br/>Org Scoping & Access]
        F --> I[Eloquent Models]
        I --> J[(SQLite Database)]
        F --> K[Third-Party Integrations<br/>DataForSEO, Google Search]
        H --> F
    end

    Client --> B
    B --> E
    D --> F

Dependencies

Critical Dependencies

  • laravel/framework
  • inertiajs/inertia-laravel
  • tightenco/ziggy
  • react
  • axios

Dev Dependencies

  • vite
  • @vitejs/plugin-react
  • tailwindcss
  • postcss
  • autoprefixer

⚠️ Vulnerabilities & Risks

  • Uses SQLite in .env.example which is not suitable for production workloads
  • No obvious CSRF or XSS protection beyond defaults (but typical Laravel protections may apply)
  • Sensitive services like DataForSEO and Google Search API keys not visible in .env.example but should be stored securely
  • No explicit rate limiting or input validation visible in example requests

💡 Suggestions

  • Migrate database to PostgreSQL as per preferred stack, given SQLite is not production-ready
  • Add comprehensive test coverage for controllers and API integrations
  • Consider implementing Redis for caching and queue jobs to improve performance
  • Integrate with the company's CRM (Twenty) for client synchronization and pipeline tracking
  • Add CI/CD pipeline with GitHub Actions for staging/production deployments