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.