Skip to main content

Technology Stack Reassessment

Long-term constraint already confirmed​

Laravel must remain​

Laravel stays as the long-term backend runtime because it already carries the current P0 API flow, owns the migration and seeder path, and provides a better foundation for authentication, authorization, auditing, queues, and operational management than the old lightweight PHP baseline.

This is no longer a debate about whether Laravel should stay. The real architectural question is how the rest of the delivery stack should converge around it.

Laravel API
+ React / TypeScript SPA (Vite)
+ analysis-worker (Python)
+ MariaDB
+ Redis
+ Nginx
+ Docker Compose

This project is an internal management system, not a public SEO-driven product site. The dominant frontend concerns are:

  • forms, lists, and detail views
  • controlled state transitions
  • stable integration with Laravel APIs
  • simple containerized deployment
  • lower runtime and troubleshooting overhead

For that profile, a React + TypeScript + Vite SPA is a better operational fit than a long-running SSR application.

Why Nuxt/Vue is not the best long-term mainline here​

This is not a rejection of Vue or Nuxt as technologies. It is a project-specific engineering decision.

1. SSR and Nitro offer limited value for this system​

The core pages are:

  • inspection task lists and details
  • sample workspaces
  • result entry flows
  • exception handling views
  • analysis job status tracking
  • settings and summary dashboards

These pages do not rely on SSR to unlock the main business value.

2. A long-running Node layer increases deployment complexity​

Nuxt in production usually means:

  • a persistent Node/Nitro runtime
  • more moving parts in the proxy path
  • broader troubleshooting scope across Nginx, Node, and API layers

For an internal management workspace, that complexity brings less return than it would for a content-heavy public-facing application.

3. Engineering effort should go to contracts, data, and operations​

The highest-value risks in this project are:

  • stable API contracts
  • controlled state machine behavior
  • clear MariaDB data semantics
  • explicit Redis/analysis-worker async boundaries
  • repeatable Docker Compose delivery

Those areas deserve the complexity budget more than SSR infrastructure does.

Role of Docusaurus​

Docusaurus is only the documentation platform. It is intentionally separate from the business frontend strategy and should stay in website/.

Conclusion​

AreaRecommended direction
BackendLaravel
Business frontendReact + TypeScript + Vite SPA
Async analysisanalysis-worker (Python) + Redis
Core databaseMariaDB
Reverse proxyNginx
OrchestrationDocker Compose
Documentation siteDocusaurus