Skip to main content

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 pages
  • app/Fields Custom fields that extend the base Qore/System Field
  • app/Http/PermissionScopes Permissions that consist of dependent (query) scopes
  • app/Resources The resources that live in your application (similar to Nova)
  • app/Tables Tables that extend the base Qore/Table table
  • app/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 app
  • src/boot Files that will be parsed when booting the app (registered in quasar.conf.js)
  • src/components All components that are not pages or layouts
  • src/css App theming
  • src/layouts Authentication and a main layout
  • src/locales Translations json files
  • src/mixins Mixins used in components
  • src/pages Page components
  • src/router The router and the registered routes
  • src/store All vuex related modules