naimul/db-visualizer

Laravel Database & Code Intelligence Visualizer (N+1, Relations, Performance Analyzer)

Maintainers

Package info

github.com/Naimcse56/db-visualizer

pkg:composer/naimul/db-visualizer

Statistics

Installs: 35

Dependents: 0

Suggesters: 0

Stars: 4

Open Issues: 1

v1.0.6 2026-04-07 10:05 UTC

This package is auto-updated.

Last update: 2026-04-07 10:06:49 UTC


README

A powerful Laravel package to analyze your application models, relationships, database usage, and detect performance issues like N+1 queries, unused columns, and missing eager loading.

๐Ÿš€ Features

  • ๐Ÿ“Š Scan all Eloquent Models (App + Modules support)
  • ๐Ÿ”— Auto-detect relationships
  • ๐Ÿง  Detect N+1 query risks probability
  • โŒ Find unused columns
  • โšก Detect missing eager loading
  • ๐Ÿ“ˆ Performance scoring system (0โ€“100)
  • ๐Ÿงน Code usage analysis
  • ๐Ÿงฉ Supports Laravel Modules (nwidart style)

๐Ÿ“ฆ Installation

Install via Composer:

composer require naimul/db-visualizer

โš™๏ธ Auto Service Provider

If you are using Laravel 10+, the package will auto-register.

If not, add manually:

Naimul\DbVisualizer\DbVisualizerServiceProvider::class,

๐ŸŒ Routes

After installation, visit:

/dbv
/dbv/data
/dbv/detail/{model}

Example:

http://your-app.test/dbv/data

๐Ÿ“Š API Endpoints

Get all models analysis

GET /dbv/data

Search models

GET /dbv/data?search=User

Model details

GET /dbv/detail/User

๐Ÿง  What It Analyzes

โœ” Models

  • Table name
  • Columns
  • Relations
  • Soft deletes

โœ” Relations

  • Used / unused detection
  • N+1 query detection probability
  • Missing eager loading

โœ” Columns

  • Used / unused detection

โœ” Performance Score

  • Calculates score (0โ€“100)

  • Quality labels:

    • Excellent
    • Good
    • Average
    • Poor

๐Ÿ“ˆ Example Response

{
  "model": "User",
  "table": "users",
  "performance_score": 85,
  "quality_label": "Good Quality",
  "unused_columns_count": 2,
  "n_plus_one_issues": 1,
  "relations": [
    {
      "method": "posts",
      "type": "HasMany",
      "used": true,
      "n_plus_one": false
    }
  ]
}

โšก Performance Scoring Rules

Issue Penalty
Unused relation -10
Unused column -2
N+1 issue -15
Missing eager load -10

Bonus:

  • Soft deletes: +5
  • Cache usage: +5
  • API Resource usage: +5

๐Ÿ›  Requirements

  • PHP >= 8.1
  • Laravel 10, 11, 12, 13 supported

๐Ÿ“ Supported Structure

  • app/Models
  • Modules/*/Entities
  • Modules/*/Models
  • Blade Views scanning

๐Ÿ”ฅ Use Case

This package is useful for:

  • Optimizing large Laravel applications
  • Detecting hidden performance issues
  • Code quality auditing
  • Refactoring legacy systems
  • Interview/demo projects

๐Ÿงฉ Future Plans

  • N+1 Query file locate
  • eagerloading File locate
  • Performance booster

๐Ÿค Contributing

Pull requests are welcome. For major changes, please open an issue first.

๐Ÿ“œ License

MIT License ยฉ Open Source

โญ Support

If you like this package, give it a โญ on GitHub.