sitakgmbh/lara-base

Sitak GmbH – Laravel Base Package

Maintainers

Package info

github.com/sitakgmbh/lara-base

pkg:composer/sitakgmbh/lara-base

Transparency log

Statistics

Installs: 11

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.19 2026-06-12 16:02 UTC

This package is auto-updated.

Last update: 2026-07-08 22:40:15 UTC


README

Erste Schritte

Installation

1. Laravel installieren

composer create-project laravel/laravel a-cool-project
cd a-cool-project

2. Package installieren

composer require sitakgmbh/lara-base

3. .env anpassen

.env.example kann als Vorlage genutzt werden.

4. Installer ausführen

php artisan lara-base:install

Der Installer erledigt automatisch:

  • User Model anpassen
  • Standard User-Migration löschen
  • Logging-Channels hinzufügen
  • LDAP-Config erstellen
  • routes/web.php anpassen
  • Public Assets entpacken
  • Spatie Permission publizieren
  • lara-base Config publizieren
  • Migrationen ausführen
  • Rollen und Admin-User anlegen

Bei bestehenden Dateien --force verwenden:

php artisan lara-base:install --force

Menü konfigurieren

In config/lara-base.php:

'menu' => [
    [
        'title' => 'Navigation',
        'items' => [
            [
                'label' => 'Dashboard',
                'icon'  => 'mdi mdi-view-dashboard',
                'url'   => '/dashboard',
            ],
            [
                'label' => 'Berichte',
                'icon'  => 'mdi mdi-chart-bar',
                'children' => [
                    [
                        'label' => 'Übersicht',
                        'url'   => '/reports',
                    ],
                    [
                        'label' => 'Monatsbericht',
                        'url'   => '/reports/monthly',
                    ],
                ],
            ],
        ],
    ],
],

PWA

In .env:

PWA_ENABLED=true
PWA_NAME="${APP_NAME}"
PWA_THEME_COLOR="#1D4E8F"

Icons sind in public/icons-pwa/ abgelegt.

Push-Benachrichtigungen

php artisan webpush:vapid

In .env:

PWA_PUSH_ENABLED=true
PWA_PUSH_QUEUE=false
VAPID_PUBLIC_KEY=...
VAPID_PRIVATE_KEY=...

Kategorien in config/lara-base.php:

'push' => [
    'categories' => [
        [
            'key'   => 'system',
            'label' => 'System-Meldungen',
            'roles' => ['admin'],
        ],
        [
            'key'   => 'incidents',
            'label' => 'Incidents',
            'roles' => ['admin'],
        ],
    ],
],

Notification versenden:

LaraNotify::send('incidents', 'Titel', 'Nachricht', '/url');
LaraNotify::sendTo($user, 'system', 'Titel', 'Nachricht');

Test:

php artisan pwa:test-push --sync
php artisan pwa:test-push --category=incidents --sync

Logging

\LaraLog::info('Nachricht');
\LaraLog::warning('Warnung', ['key' => 'value']);
\LaraLog::error('Fehler', ['exception' => $e->getMessage()]);
\LaraLog::debug('Debug');

// DB-Log
\LaraLog::db('auth', 'info', 'Login erfolgreich', ['user' => 'peter.lustig']);
\LaraLog::db('system', 'error', 'Job fehlgeschlagen');

Log-Kategorien erweitern in config/lara-base.php:

'log_categories' => [
    'sap'  => 'SAP',
    'ldap' => 'LDAP',
],

Auth-Modi

APP_AUTH_MODE Beschreibung
local Username/Passwort gegen lokale DB
ldap LDAP – SSO via REMOTE_USER oder Formular als Fallback

Views überschreiben

php artisan vendor:publish --tag=lara-base-views --force

Views landen in resources/views/vendor/lara-base/ und können angepasst werden.