Project overview
The application consists of an API (the back-end), and a Vue based front-end.
The API uses Laravel Sanctum
as an authentication layer.
Multi-tenancy
Everything is built based on multi-tenancy. This means that database related code (migrations, models, seeders) are either based on the central database, or per tenant.
Back-end
The back-end is default Laravel with some extra files:
app/Actions
Resource actions that can be executed (in bulk)app/Alerts
Alerts that can be shown on resource detail pagesapp/Fields
Custom fields that extend the baseQore/System
Fieldapp/Http/PermissionScopes
Permissions that consist of dependent (query) scopesapp/Resources
The resources that live in your application (similar to Nova)app/Tables
Tables that extend the baseQore/Table
tableapp/Tabs
Tabs that can be shown on resource detail pages
Front-end
The front-end lives in the frontend
directory. Quasar
framework is used here.
quasar.conf.js
Configurations for the appsrc/boot
Files that will be parsed when booting the app (registered inquasar.conf.js
)src/components
All components that are not pages or layoutssrc/css
App themingsrc/layouts
Authentication and a main layoutsrc/locales
Translations json filessrc/mixins
Mixins used in componentssrc/pages
Page componentssrc/router
The router and the registered routessrc/store
All vuex related modules