People often know Inertia.js as a tool used with Ruby or Laravel for building fullstack SPAs. However, this approach is simpler in that it still separates the frontend and backend, even if the backend serves the static files. This separation makes it easier to scale the project in the future—whether moving toward microservices or other architectural changes—since the frontend and backend remain decoupled.
./mvnw spring-boot:run
# or if using Gradle
./gradlew bootRun
cd frontend
npm install
npx vite build --watch