Dashboard

The system home screen displays configurable widgets with portfolio KPIs:

  • Total registered applications
  • Assessments by status (Draft, In Progress, Completed, Approved)
  • Average portfolio readiness scores
  • Migration plans by phase
  • Open blocking risks
  • Distribution of recommended strategies

Widgets can be reordered by drag and drop and reset to the default layout.

Technology Catalog

Go to Settings → Technology Catalog (requires catalog.view). The catalog centralizes the inventory of technologies recognized by the system:

  • Programming languages
  • Frameworks and runtimes
  • Databases
  • Message brokers
  • Web servers
  • Infrastructure tools

Each technology has: name, vendor, category, description, whether it is stateful, and Kubernetes compatibility. Administrators can add new technologies to the catalog (requires catalog.manage).

Audit Logs

Go to Settings → Audit Logs (requires audit.view). All create, edit and delete events are logged automatically via Spatie ActivityLog.

Each log entry contains:

  • User who performed the action
  • Affected model and record ID
  • Event: created, updated, deleted
  • Before and after values (diff)
  • Timestamp
  • IP address and user agent
Compliance Audit logs cannot be edited or deleted through the interface. This ensures an immutable audit trail for compliance with GDPR, ISO 27001 and other frameworks.

Useful Artisan commands

# Clear application cache
php artisan cache:clear
php artisan config:clear
php artisan view:clear
php artisan route:clear

# Recompile assets (production)
npm run build

# Check system status
php artisan about

# Process queue manually
php artisan queue:work --once

# View pending queue jobs
php artisan queue:monitor database:default

# Retry failed jobs
php artisan queue:retry all

# List routes
php artisan route:list

Health probes

The system exposes Kubernetes-compatible endpoints for monitoring:

GET /healthz   → 200 OK if the application is alive
GET /readyz    → 200 OK if database and dependencies are accessible
GET /metrics   → metrics (requires authentication token)

Configure in your Kubernetes / OKD cluster:

livenessProbe:
  httpGet:
    path: /healthz
    port: 8080
  initialDelaySeconds: 30
  periodSeconds: 10

readinessProbe:
  httpGet:
    path: /readyz
    port: 8080
  initialDelaySeconds: 15
  periodSeconds: 5

Database maintenance

# Run migrations
php artisan migrate

# Rollback last migration
php artisan migrate:rollback

# Migration status
php artisan migrate:status

# Seed initial data
php artisan db:seed

# Run a specific seeder
php artisan db:seed --class=AssessmentTemplateSeeder

Session and cache configuration

DriverRecommendation
DevelopmentSESSION_DRIVER=file, CACHE_STORE=file
Production (Docker)SESSION_DRIVER=redis, CACHE_STORE=redis
Production (no Redis)SESSION_DRIVER=database, CACHE_STORE=database

Backup and recovery

# PostgreSQL database dump
pg_dump -h localhost -U tainux tainux > backup_$(date +%Y%m%d).sql

# Restore
psql -h localhost -U tainux tainux < backup_20240315.sql

# Backup report files
tar -czf reports_$(date +%Y%m%d).tar.gz storage/app/reports/

System update

  1. Enable maintenance mode
    php artisan down --secret="your-bypass-token"
  2. Pull the new version
    git pull origin main
  3. Install dependencies and run migrations
    composer install --no-dev --optimize-autoloader
    php artisan migrate --force
    npm run build
  4. Clear cache and disable maintenance mode
    php artisan cache:clear
    php artisan config:cache
    php artisan route:cache
    php artisan view:cache
    php artisan up

Application logs

# View logs in real time (development)
php artisan pail

# Logs in Docker
docker compose logs -f web
docker compose logs -f worker

# Log file
tail -f storage/logs/laravel.log

Support

For technical support, contact the TAINUX team: