Skip to content

Backend Introduction

The backend was written using Laravel 12. It uses MariaDB for the primary database and is interconnected with several first-party or 3rd party services.

The project uses the default Laravel boilerplate MVC architecture with the addition of service + repository pattern.

In order to minimalize the logic inside controllers, repository pattern and small utilities were used within the app.

This also helps maintaining the code since the repository pattern gives a sense of domain driven design without dismantling the MVC architecture.

Routes

Currently only two main and one developer route providers exist within the backend.

  1. API: Served via APP_SERVICE domain name
  2. Dashboard: Filament service provider's routes are served via DASHBOARD_DOMAIN corresponding domain name
  3. Dev: The dev.php provider is used when the backend is accessed in local environment. This helps doing small tests and debuggings with some comfort.

The web.php route provider is removed due to not being used at all.

API Module

The API module uses Laravel Sanctum to give SPAs and mobile clients access to authenticated functionalities.

The routes are created in the self invoking class fashion in order to seperate concerns.

Dashboard Module

The dashboard is written using FilamentPHP package. It's quite a robust and free solution that can be easily modified and developed upon.