Documentation
VSA Monolith is a Laravel back end with a vanilla-JavaScript front end, and a command line that treats the project structure as something it can read, check and generate.
What a VSA app is
A VSA app is one Laravel application serving one or more apps — self-contained front ends, each with its own shell, script bundle and menu. Inside an app, every screen is a page component: a JavaScript object the router instantiates and swaps into the layout.
The rule that shapes everything else is that the app never navigates by reloading the page. Moving between screens is a router call, not a request, so the sidebar, the session, open sockets and in-memory state all survive. A full page load happens in exactly two places: signing in, and opening a guide or a report, which are blades in a new tab.
One deployment serves many subscribers: the company is named in the URL, inside the app’s own route segment, because the login screen has to know which company before the password is checked. Routes & tenancy is that contract.
There is one sidebar for the whole app, owned by the layout. A page renders into the outlet and never injects into the sidebar — a view-only report keeps the app layout but drops the sidebar entirely.
The pieces
| Piece | What it does |
|---|---|
| VSEL | The component library — lists, dialogs, pickers, menus, money and date inputs — served version-pinned from the CDN rather than bundled per project |
| VSPageRouter | Maps a route to a page component, instantiates it, and swaps it into the layout outlet |
| VSApp | The application object: the layout contract, the one sidebar, the menus, the current identity |
| DBX | The cross-database layer. Queries never spell a vendor SQL function, so the same code runs on MySQL and PostgreSQL |
| Report Center | One screen for every report. A report is two declarations in the app file and one handler class — never a screen of its own |
| XAuth | The identity platform: sign-in, roles, permissions, projects, subscriptions. A VSA app declares its catalog and pushes it |
| vsa | The command line. It reads the PHP config files as data and never boots Laravel |
Where to go next
- Getting started — install, create a project, add a page, run it
- Commands — every
vsacommand, grouped - Configuration —
vsa.jsonand the XAuth credential in.env - Routes & tenancy — every route a project registers, and how one deployment serves many subscribers
- Reports — the Report Center: the declarations, the ticket, and who owns a live report
- Rules & checks — what
vsa checkenforces, and the defect behind each rule - Translations — the key convention and the translator round trip
- XAuth mirror — exact local copies of the console tables: the contract,
verify, drift and multi-database sync
Not installed yet? The installer brings up the whole toolchain in one command — download it for macOS or Windows.