135 Zeilen
3.3 KiB
Markdown
135 Zeilen
3.3 KiB
Markdown
# 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.
|