Skip to content

Add case studies on Bagisto, Advising App and LaravelEcomm - #6

Open
ChrisAbner wants to merge 1 commit into
mainfrom
docs/case-studies
Open

ChrisAbner wants to merge 1 commit into
mainfrom
docs/case-studies

Conversation

@ChrisAbner

Copy link
Copy Markdown
Owner

What

A new Case studies section in the docs site, linked from the nav, the sidebar and the README:

  • case-studies/index.md: overview, findings across the three apps, how the public API was declared, how to reproduce.
  • case-studies/bagisto.md (namespaces, 42 packages): 919 → 158 internal_access after declaring the shared kernel, repositories, facades and Concord proxies. It covers order status constants, OrderResource used by every payment gateway, the Payment extension point, Sales depending on Shop, and a purchase-flow diagram with two cycles.
  • case-studies/advisingapp.md (InterNACHI/modular, 37 modules): Student and Prospect take 28% of the reports even though an Educatable contract already exists.
  • case-studies/laravelecomm.md (nwidart/laravel-modules, 29 modules): Core as a shared kernel (379 reports), what remains, and cycles created by Eloquent relations on both sides.

How the numbers were checked

  • Each app was analysed at a pinned commit (linked on each page) with Laravel 13.39 and PHP 8.4.
  • All 2,858 internal_access reports were checked by machine. The reported line contains the class or its alias, and the class is declared in the reported module. 0 mismatches.
  • Each category was also sampled by hand. Every claim in the text (counts, which modules, what the code does) was rechecked against the JSON reports and the source.
  • The extra public API declared for each app is our reading of the code. The pages say so and show both numbers.

Check before merging

The pages describe third-party projects in public. The tone aims to be factual ("snapshots, not judgments"), but please read them as their maintainers would.

npm run build in docs-site passes, with no dead links.

Cordon ran on three open source Laravel apps, one per supported module
structure: Bagisto (namespaces), Advising App (InterNACHI/modular) and
LaravelEcomm (nwidart/laravel-modules). All 2,858 internal_access reports
were checked by machine (the line contains the class, the class is
declared in the reported module) and sampled by hand. No false positives.

Each page gives the commit analysed, the numbers with the default config
and with the public API the app already uses declared, the configuration,
and the coupling that remains, with code. Bagisto's purchase-flow diagram
is rendered from cordon:docs output.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant