Qmatrix

Qualifikationsmatrix, Schulungs- und Unterweisungsmanagement als Frappe-16-App: Kompetenzmatrix mit Lückenanalyse, Schulungsplanung mit Kosten, Unterweisungen mit digitaler Unterschrift, Mitarbeiter-Portal und Kiosk als Vue-SPA, mehrsprachig über DeepL.

Install Qmatrix

bench get-app https://github.com/saschafo/qmatrix

Tags

  • arbeitssicherheit
  • deepl
  • frappe
  • frappe-app
  • frappe-framework
  • german
  • kompetenzmanagement
  • mitarbeiterportal
  • qualifikationsmatrix
  • schulungsverwaltung
  • skill-matrix
  • training-management
  • unterweisungen
  • vue

Add the Frappe Gems badge to your README

Maintain Qmatrix? Paste this into your README:

[![Listed on Frappe Gems](https://frappegems.com/api/method/frappe_gems.seo.badge?app=saschafo%2Fqmatrix)](https://frappegems.com/gems/apps/saschafo/qmatrix)

About Qmatrix

# Q-Matrix Qualifikationsmatrix, Schulungsverwaltung und Unterweisungen für Frappe Framework 16 — mit mehrsprachiger Belegschaft im Blick. Die App bildet ab, **wer was kann**, **wer welche Schulung braucht** und **wer welche Unterweisung wann bestätigt hat** — inklusive rechtssicherer digitaler Unterschrift und automatischer Wiedervorlage. --- ## Funktionen | Bereich | Was es tut | |---|---| | **Q-Matrix** | Qualifikationsmatrix über alle Mitarbeiter und Kompetenzen, mit Soll-Ist-Abgleich und Lückenanalyse | | **Schulungen** | Katalog, Anbieter, Kosten, Kapazitäten, Termine, Teilnehmer | | **Schulungskalender** | Terminübersicht aller Schulungsveranstaltungen | | **Schulungskosten** | Auswertung nach Monat und Abteilung, Simulation künftiger Wiederholungskosten | | **Unterweisungen** | Pflichtunterweisungen verteilen, Fristen überwachen, Nachweise sammeln | | **Unterweisungen-Matrix** | Wer hat was bestätigt — auf einen Blick | | **Wiederholungs-Automatik** | Erzeugt fällige Zuweisungen selbstständig, täglich per Scheduler | | **Mitarbeiter-Portal** | Eigene Schulungen, Unterweisungen und Kompetenzen für Beschäftigte | | **Schulungs-Kiosk** | Tablet-Ansicht für die Fertigung, mit Passwortschutz vor der Bestätigung | | **Digitale Unterschrift** | Unterschriften-Pad mit Passwort-Verifizierung | | **DeepL-Übersetzung** | Übersetzt Schulungen und Unterweisungen samt Dokumenten in die Sprachen der Belegschaft | Eine ausführliche Beschreibung aller Masken steht in [`qmatrix_dokumentation.md`](qmatrix_dokumentation.md). --- ## Screenshots ### Q-Matrix — wer kann was ![Q-Matrix Kompetenzmatrix](docs/screenshots/01-qmatrix.png) Kompetenzmatrix über alle Beschäftigten, farbcodiert nach Stufe, mit Lückenanalyse je Mitarbeiter. ### Schulungskosten — Plan gegen Ist ![Schulungskosten](docs/screenshots/02-schulungskosten.png) ### Unterweisungen im Blick | Übersicht | Dashboard | |---|---| | ![Unterweisungen-Übersicht](docs/screenshots/03-unterweisungen.png) | ![Unterweisungen-Dashboard](docs/screenshots/04-dashboard.png) | ### Mehrsprachigkeit Mitarbeiter-Portal auf Türkisch Das Mitarbeiter-Portal zeigt jedem Beschäftigten die freigegebene Fassung in seiner Sprache — hier ein türkischsprachiger Staplerfahrer, der die Betriebsanweisung als „Forklift Kullanım Kılavuzu" erhält. ### Einrichtung | DeepL-Übersetzung | Demodaten | |---|---| | ![DeepL-Einstellungen](docs/screenshots/06-deepl.png) | ![Demodaten](docs/screenshots/07-demodaten.png) | Weitere Ansichten: [Schulungskalender](docs/screenshots/05-kalender.png) --- ## Installation Am einfachsten über das fertige Docker-Setup — dort genügt ein Befehl und es muss weder Python noch Node noch bench auf dem Rechner installiert sein. Klassisch mit [bench](https://github.com/frappe/bench): ```bash cd $PATH_TO_YOUR_BENCH bench get-app https://github.com/saschafo/qmatrix --branch main bench --site install-app qmatrix ``` Nach der Installation den Scheduler aktivieren — die Wiederholungs-Automatik und die Fristenüberwachung hängen daran: ```bash bench --site enable-scheduler ``` ### Demodaten Zum Ausprobieren gibt es in der App unter **Einstellungen → Demodaten** eine Schaltfläche, die einen vollständigen Beispielbetrieb anlegt und ihn genauso wieder entfernt. Angelegt werden Abteilungen, Mitarbeiter, Kompetenzen, Schulungsanbieter, Schulungen, ein Jahres-Schulungsplan mit Kosten, Veranstaltungen und Unterweisungen. Sämtliche Termine gehen vom heutigen Datum aus, der Schulungsplan läuft immer im laufenden Jahr. Damit sind Kosten- und Kalenderauswertungen unabhängig davon gefüllt, wann die App gestartet wird. Die acht Demo-Mitarbeiter bekommen einen **Portalzugang**, zwei davon mit anderer Sprache (Türkisch, Polnisch) — damit lässt sich die Mehrsprachigkeit sofort vorführen, ganz ohne DeepL-Zugang. Zugangsdaten und ein Rundgang stehen in [`DEMO.md`](DEMO.md). Beim Entfernen wird ausschließlich gelöscht, was beim Installieren angelegt wurde — protokolliert im DocType `Demodaten`, einschließlich der Benutzerkonten. Datensätze, die schon vorher existierten, bleiben unangetastet. Auch per Kommandozeile möglich: ```bash bench --site execute qmatrix.demo.installieren bench --site execute qmatrix.demo.entfernen ``` --- ## Mehrsprachigkeit mit DeepL Schulungen und Unterweisungen lassen sich automatisch in die Sprachen der Belegschaft übersetzen. Portal und Kiosk zeigen jedem Beschäftigten dann die Fassung in seiner Sprache — gesteuert über das Feld **Bevorzugte Sprache** am Mitarbeiter. ### Einrichten > **Datenschutz zuerst.** Beim Übersetzen werden die Inhalte an DeepL > übertragen. Der **Free-Tarif** untersagt laut DeepL-Nutzungsbedingungen die > Verarbeitung **personenbezogener Daten** und DeepL behält sich vor, > übermittelte Inhalte **dauerhaft zu speichern**. Unterweisungen enthalten > häufig Namen, Abteilungen oder Personalnummern — sobald das zutrifft, ist der > Free-Tarif vertraglich nicht zulässig und es wird der **Pro-Tarif mit > Auftragsverarbeitungsvertrag (AVV)** benötigt. Der Free-Tarif eignet sich zum > Ausprobieren mit Inhalten ohne jeden Personenbezug. > Quellen: [DeepL Nutzungsbedingungen](https://www.deepl.com/pro-license) · > [Datenschutzerklärung](https://www.deepl.com/privacy). Das ersetzt keine > Rechtsberatung. 1. Auf [deepl.com/pro-api](https://www.deepl.com/pro-api) einen API-Key erstellen — für den Regelbetrieb den **Pro-Tarif**. 2. Im Menü **Q-Matrix → Einstellungen → DeepL Übersetzung** den API-Key eintragen und speichern. 3. Auf **Verbindung testen** klicken. Es muss eine grüne Erfolgsmeldung mit Tarif und verbrauchtem Kontingent erscheinen. Dabei wird auch die aktuelle Sprachliste von DeepL geladen. 4. Den **Datenschutzhinweis** bestätigen — ohne diesen Haken startet keine Übersetzung. 5. Unter **Sprachen der Belegschaft** die Sprachen eintragen, die im Betrieb gesprochen werden. Diese sind später vorausgewählt. Ob Free- oder Pro-Tarif verwendet wird, erkennt die App am Schlüssel selbst (Free-Keys enden auf `:fx`) und weist bei Free ausdrücklich darauf hin. Der Key wird verschlüsselt gespeichert und nie im Klartext angezeigt. ### Sprachcodes Die Auswahl kommt direkt von DeepL und wird beim Verbindungstest aufgefrischt. DeepL unterscheidet dabei streng zwischen Quell- und Zielsprache: | | Als Ausgangssprache | Als Zielsprache | |---|---|---| | Englisch | `EN` | `EN-GB`, `EN-US` | | Portugiesisch | `PT` | `PT-PT`, `PT-BR` | Die Auswahlfelder filtern entsprechend, sodass keine ungültige Kombination entstehen kann. Die Sprache eines Mitarbeiters muss eine **Zielsprache** sein. ### Übersetzen In einer Schulung oder Unterweisung auf **Aktionen → 🌐 Mit DeepL übersetzen** klicken, die Zielsprachen ankreuzen, starten. Der Lauf passiert im Hintergrund; sobald er fertig ist, erscheint eine Meldung und das Formular lädt sich neu. Übersetzt werden: | | Schulung | Unterweisung | |---|---|---| | Titel | ✓ | ✓ | | Beschreibung | ✓ (mit Formatierung) | ✓ | | Zielgruppe | ✓ | — | | PDF-Dokument | — | ✓ layoutgetreu | | Quelldokument (DOCX/PPTX) | — | ✓ layoutgetreu | Die Ergebnisse landen als **Sprachversion** am Dokument und stehen zunächst auf **Entwurf**. Erst wenn eine Sprachversion auf **Freigegeben** gesetzt wird, zeigen Portal und Kiosk sie den Beschäftigten an — die maschinelle Übersetzung kann also vorher geprüft und korrigiert werden. Eine erneute Übersetzung derselben Sprache aktualisiert die vorhandene Sprachversion, statt eine zweite anzulegen. --- ## Mitwirken Diese App nutzt `pre-commit` für Formatierung und Linting: ```bash cd apps/qmatrix pre-commit install ``` Eingesetzt werden ruff, eslint, prettier und pyupgrade. --- ## Lizenz MIT — siehe [`license.txt`](license.txt). ## Autor **Sascha Böhm Software & App**, Inhaber Sascha Böhm Hohenschwärz 66, 91322 Gräfenberg, Deutschland USt-IdNr. DE337811439 · +49 151 155 20 344 · [Impressum](https://website.industrie-4-0.org/impressum/)

Related Developer Tools apps for Frappe & ERPNext

  • Frappe — Low code web framework for real world applications, in Python and Javascript
  • Frappe Docker — Docker environment for developing, deploying, and running Frappe applications (ERPNext and custom apps) in production and development
  • Builder — Craft beautiful websites effortlessly with an intuitive visual builder and publish them instantly
  • Bench — CLI to manage Multi-tenant deployments for Frappe apps
  • Frappe Ui — A set of components and utilities for rapid UI development
  • Press — Full service cloud hosting for the Frappe stack - powers Frappe Cloud
  • Gameplan — Open Source Discussions Platform for Remote Teams
  • Doppio — A Frappe app (CLI) to magically setup single page applications and Vue/React powered desk pages on your custom Frappe apps.