Code Architecture Overview
When writing the codebase, we follow the Functional Core, Imperative Shell design principle.
Backend Architecture
On the backend, the project follows standard Laravel conventions and directory structure. Business logic is organized using a Service Layer pattern
Frontend Architecture
On the frontend, the project is based on the Laravel 12 + Inertia + Vue.js Starter Kit, built on top of shadcn/ui.
In addition to the default structure, we introduced a custom folder:
components_project/
This folder acts as a service layer for the frontend and is responsible for handling business logic, data transformations, and complex interactions.
The standard components/ folder is intentionally kept free of business logic and should only contain:
- Reusable, presentation-focused UI components
This separation ensures a clean boundary between UI concerns and application logic, making the frontend easier to extend and refactor.