# SkillMate - Mitarbeiter-Skills-Management für Sicherheitsbehörden SkillMate ist eine spezialisierte Anwendung zur Verwaltung von Mitarbeiterfähigkeiten und -kompetenzen in Sicherheitsbehörden. Die Anwendung läuft lokal bei jedem Nutzer und kann über ein Admin-Panel zentral verwaltet werden. ## Features - 🔍 **Skill-basierte Suche**: Finden Sie Mitarbeiter anhand ihrer Fähigkeiten - 👥 **Mitarbeiterverwaltung**: Umfassende Profile mit Skills, Sprachen und Spezialisierungen - 🔐 **Sicherheitsüberprüfungen**: Verwaltung von Ü2/Ü3-Clearances - 🌓 **Dark/Light Mode**: Anpassbare Benutzeroberfläche - 🔄 **Synchronisation**: Zentrale Datenverwaltung über Admin-Panel - 💻 **Offline-fähig**: Lokale SQLite-Datenbank für Offline-Betrieb ## Systemanforderungen - Node.js 18.x oder höher - npm 8.x oder höher - Windows 10/11, macOS 10.15+, oder Linux ## Installation ### Windows 1. Führen Sie die Datei `setup.bat` aus 2. Folgen Sie den Anweisungen auf dem Bildschirm ### macOS/Linux 1. Öffnen Sie ein Terminal im Projektverzeichnis 2. Führen Sie aus: `./setup.sh` 3. Folgen Sie den Anweisungen ## Entwicklung ### Alle Services starten **Windows:** `run-dev.cmd` **macOS/Linux:** `python3 main.py --mode dev` Dies startet: - Backend auf http://localhost:3004 - Frontend auf http://localhost:5173 - Admin Panel auf http://localhost:5174 ### Einzelne Services ```bash # Backend cd backend && npm run dev # Frontend (Electron) cd frontend && npm run dev # Admin Panel cd admin-panel && npm run dev ``` ## Production Build ### Production Start (Windows) `run-prod.cmd` ### Ausgabe - **Electron App**: `frontend/dist/` (Installer für Windows/macOS/Linux) - **Backend**: `backend/dist/` (Node.js Server) - **Admin Panel**: `admin-panel/dist/` (Static Web Files) ## Projektstruktur ``` SkillMate/ ├── frontend/ # Electron Desktop App ├── backend/ # Express.js API Server ├── admin-panel/ # React Admin Interface ├── shared/ # Gemeinsame TypeScript-Typen ├── main.py # Windows-optimierter Starter (auch für Unix nutzbar) ├── run-dev.cmd # Windows Dev-Start ├── run-prod.cmd # Windows Prod-Start └── README.md # Diese Datei ``` ## Standard-Login **Admin Panel:** - Benutzername: `admin` - Passwort: `admin123` ⚠️ **WICHTIG**: Ändern Sie das Standard-Passwort nach der ersten Anmeldung! ## Konfiguration ### Backend (.env) ```env JWT_SECRET=your-secret-key PORT=3001 NODE_ENV=production LOG_LEVEL=info ``` ### Admin Panel (.env) ```env VITE_API_URL=http://your-server:3001/api ``` ## Deployment ### Lokale Desktop-App 1. Erstellen Sie den Production Build 2. Verteilen Sie den Installer aus `frontend/dist/` 3. Die App enthält das Backend und läuft komplett lokal ### Admin Panel im Netzwerk 1. Kopieren Sie `admin-panel/dist/` auf einen Webserver 2. Konfigurieren Sie die Backend-URL in der `.env` 3. Stellen Sie sicher, dass das Backend erreichbar ist ## Sicherheit - JWT-basierte Authentifizierung - Rollenbasierte Zugriffskontrolle (Admin, Poweruser, User) - Lokale Datenhaltung mit SQLite - Verschlüsselte Verbindungen (HTTPS in Production) ## Support Bei Fragen oder Problemen erstellen Sie bitte ein Issue im Projekt-Repository. ## Lizenz Proprietär - Nur für den internen Gebrauch in Sicherheitsbehörden.