Skip to main content

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.