Changes for page Fuhrpark (Fleet Manager)

Last modified by Patrizia Gurschka on 2026/09/14 07:51

From version 3.1
edited by Dimitri Rupp
on 2026/06/11 11:00
Change comment: There is no comment for this version
To version 7.3
edited by Patrizia Gurschka
on 2026/09/09 13:21
Change comment: Auto-saved during real-time collaboration

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.drupp
1 +XWiki.gurschkap
Tags
... ... @@ -1,0 +1,1 @@
1 +anleitung
Content
... ... @@ -1,243 +1,180 @@
1 -**Ablauf Fleet Manager:**
1 += 🚗 Fuhrpark (Fleet Manager) =
2 2  
3 +>ℹ️ **Zweck:** Webbasiertes System zur Verwaltung des Firmenfuhrparks — von Fahrzeug- und Fahrerstammdaten über Kostenkalkulation und Kilometerauswertung bis zu automatisierter Ersatzbeschaffungs-Planung (Handlungsbedarf) und monatlicher Abrechnung.
3 3  
4 -**~1. Fahrzeuge verwalten**
5 +**Auf dieser Seite**
5 5  
6 -Fahrzeuge werden bis jetzt einmal aus Rimo importiert und dann in der App gepflegt. (Geplant: retour schreiben in Rimo)
7 +* 🚗 [[Fuhrpark (Fleet Manager)>>url:https://claude.ai/chat/bbe27d6f-4606-42f0-8e93-34a994469548#-fuhrpark-fleet-manager]]
8 +** [[Übersicht>>url:https://claude.ai/chat/bbe27d6f-4606-42f0-8e93-34a994469548#%C3%BCbersicht]]
9 +** [[Technologie-Stack>>url:https://claude.ai/chat/bbe27d6f-4606-42f0-8e93-34a994469548#technologie-stack]]
10 +** [[Projektstruktur>>url:https://claude.ai/chat/bbe27d6f-4606-42f0-8e93-34a994469548#projektstruktur]]
11 +** [[Hauptfunktionen>>url:https://claude.ai/chat/bbe27d6f-4606-42f0-8e93-34a994469548#hauptfunktionen]]
12 +*** [[Fahrzeuge verwalten>>url:https://claude.ai/chat/bbe27d6f-4606-42f0-8e93-34a994469548#fahrzeuge-verwalten]]
13 +*** [[Fahrer verwalten>>url:https://claude.ai/chat/bbe27d6f-4606-42f0-8e93-34a994469548#fahrer-verwalten]]
14 +*** [[Kilometer-Daten>>url:https://claude.ai/chat/bbe27d6f-4606-42f0-8e93-34a994469548#kilometer-daten]]
15 +*** [[Kalkulation>>url:https://claude.ai/chat/bbe27d6f-4606-42f0-8e93-34a994469548#kalkulation]]
16 +*** [[Handlungsbedarf>>url:https://claude.ai/chat/bbe27d6f-4606-42f0-8e93-34a994469548#handlungsbedarf]]
17 +*** [[Dashboard>>url:https://claude.ai/chat/bbe27d6f-4606-42f0-8e93-34a994469548#dashboard]]
18 +*** [[Benutzerverwaltung (Admin)>>url:https://claude.ai/chat/bbe27d6f-4606-42f0-8e93-34a994469548#benutzerverwaltung-admin]]
19 +*** [[Kalkulationsparameter>>url:https://claude.ai/chat/bbe27d6f-4606-42f0-8e93-34a994469548#kalkulationsparameter]]
20 +*** [[Export & Berichte>>url:https://claude.ai/chat/bbe27d6f-4606-42f0-8e93-34a994469548#export--berichte]]
21 +** [[Routing>>url:https://claude.ai/chat/bbe27d6f-4606-42f0-8e93-34a994469548#routing]]
22 +** [[Datenzugriff>>url:https://claude.ai/chat/bbe27d6f-4606-42f0-8e93-34a994469548#datenzugriff]]
23 +** [[Backend>>url:https://claude.ai/chat/bbe27d6f-4606-42f0-8e93-34a994469548#backend]]
24 +** [[Architektur>>url:https://claude.ai/chat/bbe27d6f-4606-42f0-8e93-34a994469548#architektur]]
25 +** [[Server>>url:https://claude.ai/chat/bbe27d6f-4606-42f0-8e93-34a994469548#server]]
26 +** [[Hinweise>>url:https://claude.ai/chat/bbe27d6f-4606-42f0-8e93-34a994469548#hinweise]]
7 7  
28 +== Übersicht ==
8 8  
9 -**Fahrzeug anlegen**
30 +Fuhrpark unterstützt den gesamten Lebenszyklus eines Firmenfahrzeugs: Anlage und Zuordnung, laufende Kostenkalkulation, Kilometer-Tracking, Handlungsbedarf/Ersatzbeschaffung bis zur monatlichen Abrechnung und Kostenstellen-Umbuchung. Fahrzeug- und Fahrerstammdaten werden aus dem unternehmensweiten RIMO-System (SQL-Server-DWH) synchronisiert, Kilometerstände automatisiert über GPS-/Tesla-Anbindung und SharePoint importiert.
10 10  
11 -1. Menü **„Fahrzeuge“** öffnen
12 -1. Auf **„Fahrzeug hinzufügen“** klicken
13 -1. Pflichtfelder ausfüllen (MAT-ID, Marke, Modell verpflichtend)
14 -1. Fahrer und Line Manager (wird automatisch ergänzt, kann dennoch selbst ausgewählt werden) auswählen
15 -1. Speichern
32 +Das Projekt wurde von einer Streamlit-Monolith-Anwendung auf eine FastAPI-Backend- + React-Frontend-Architektur umgestellt.
16 16  
34 +== Technologie-Stack ==
17 17  
36 +**Frontend:** React 18 · Vite · React Router · React Query (TanStack Query) · Axios · eigene UI-Komponentenbibliothek (kein UI-Framework wie MUI/shadcn)
18 18  
19 -**Fahrzeug bearbeiten**
38 +**Backend:** FastAPI (Python) · SQLite (WAL-Modus) · Pandas · python-jose (JWT) · passlib/bcrypt · pyodbc (SQL-Server-Anbindung)
20 20  
21 -* Fahrzeug auswählen
22 -* Änderungen durchführen
40 +**Externe Anbindungen:**
23 23  
24 -Wenn ein Fahrer nur für einen Zeitraum zugewiesen wird, wird nach diesem Zeitraum wieder der Ursprungsfahrer eingetragen. Wenn kein Enddatum eingetragen wird, bleibt der Fahrer bis etwas geändert wird.
42 +* **RIMO / SQL-Server (ai.sdmperson, rimo.sdmtool):** täglicher Fahrer-/Line-Manager-Sync, Datumsermittlung für Nachkorrekturen
43 +* **Microsoft Fabric:** KM-Formular-E-Mails, SharePoint-Listenabgleich
44 +* **GPS-AT / Tesla:** automatischer Kilometerstand-Import
25 25  
26 -* Speichern
46 +== Projektstruktur ==
27 27  
48 +{{{fuhrpark/
49 +├── _bootstrap.py Gemeinsames Setup für alle Skripte
50 +├── 1_import_users_drivers.py Täglicher Fahrer-/Line-Manager-Sync (Cron)
51 +├── 2_import_vehicles.py Einmaliger Fahrzeug-Erstimport
52 +├── 3_import_vehicle_data.py Manueller Excel-Import (Fahrzeugdaten)
53 +├── 4_import_km_history.py Manueller Excel-Import (KM-Historie)
54 +├── import_km.py KM-Stand-Import (gpsat/tesla/sharepoint)
55 +├── repair_stale_line_manager_assignments.py Einmaliges Reparatur-Skript (Altlasten)
56 +├── docker-compose.yml
57 +├── .env Secrets für Docker (SECRET_KEY, CORS)
58 +├── data/ fleet.db, fleet_demo.db (nicht in Git)
59 +├── abrechnungen/ Export-Ablage (nicht in Git)
60 +├── backend/
61 +│ ├── Dockerfile
62 +│ ├── .env Secrets für Cron-Skripte (CONN_STR, SP_*, SMTP_*)
63 +│ ├── requirements.txt
64 +│ └── app/
65 +│ ├── main.py FastAPI-Einstiegspunkt, Hintergrund-Jobs
66 +│ ├── config.py Zentrale Konfiguration (ENV-Variablen)
67 +│ ├── db.py Schema, Migrationen, Indizes
68 +│ ├── auth.py JWT/Passwort-Logik
69 +│ ├── services.py Geschäftslogik (Kalkulation, Zuordnung, ...)
70 +│ └── routers/ vehicles, drivers, users, dashboard, calc_params, auth
71 +└── frontend/
72 + ├── Dockerfile
73 + ├── nginx.conf Reverse-Proxy zu /api, SPA-Routing
74 + └── src/
75 + ├── api/ zentraler Axios-Client
76 + ├── context/ AuthContext
77 + ├── components/ VehicleFormModal, DriverFormModal, ui/, ...
78 + └── pages/ Dashboard, Fahrzeuge, Fahrer, KM-Dashboard, ...
79 +}}}
28 28  
81 +== Hauptfunktionen ==
29 29  
30 -**Fahrzeug deaktivieren**
83 +=== Fahrzeuge verwalten ===
31 31  
32 -* in "bearbeiten" kann das Fahrzeug auf inaktiv gesetzt werden und bleibt in der Tabelle
85 +Fahrzeuge werden initial aus RIMO importiert und danach in der App gepflegt (Rückschreiben nach RIMO ist geplant, aktuell nicht implementiert). Anlegen erfordert MAT-ID, Marke und Modell als Pflichtfelder; Fahrer und Line Manager können direkt zugewiesen werden (Line Manager wird bei Fahrer-Auswahl automatisch ergänzt, ist aber weiterhin manuell überschreibbar). Zuordnungen mit befristetem Zeitraum kehren nach Ablauf automatisch zum vorherigen Fahrer zurück — ohne Enddatum bleibt die Zuordnung bestehen, bis sie aktiv geändert wird. Fahrzeuge können auf inaktiv gesetzt (bleiben sichtbar) oder archiviert werden (wandern in die Archiv-Ansicht, von dort reaktivierbar). Ein gesetztes „Deactivation Date" deaktiviert und archiviert das Fahrzeug automatisch zum entsprechenden Datum. Komponenten: FahrzeugePage, VehicleFormModal, VehicleDrawer.
33 33  
87 +=== Fahrer verwalten ===
34 34  
89 +Fahrer werden täglich um 4:00 Uhr gegen RIMO abgeglichen (Neuanlage bei unbekannter Personalnummer, sonst Aktualisierung von Stammdaten, Kostenstelle und Line Manager). Externe Fahrer können manuell angelegt und bearbeitet werden; Stammdaten interner (per RIMO importierter) Fahrer sind schreibgeschützt. Komponenten: FahrerPage, DriverFormModal.
35 35  
36 -**Fahrzeug archivieren**
91 +=== Kilometer-Daten ===
37 37  
38 -* Fahrzeug kann archiviert werden, dann wird es automatisch auf inaktiv gesetzt und in der archivierte Fahrzeuge Tabelle angezeigt (dort kann es wieder aktiviert werden)
93 +Kilometerstände werden automatisiert importiert: GPS-AT täglich um 4:00, Tesla montags um 4:00, jeweils zum Monatsende. Für Fahrzeuge ohne automatische Anbindung wird 3 Tage vor Monatsende täglich eine Erinnerungsmail verschickt, bis ein Wert in der SharePoint-Liste eingetragen ist; sobald die Liste vollständig ist, wird sie automatisch übernommen. Berechnet werden Differenzen, Jahreskilometer und aktuelle Laufleistung, einsehbar im KM-Dashboard — inklusive korrekter Zeitraum-Begrenzung bei unterjährigem Fahrer-/Line-Manager-Wechsel. Komponente: KmDashboardPage.
39 39  
40 -----
95 +=== Kalkulation ===
41 41  
97 +Pro Fahrzeug wird eine Kostenkalkulation aus Anschaffungskosten, laufenden Kosten (Versicherung, Wartung etc.) sowie Verbrauch und Energiepreisen erstellt. Ergebnis: Kosten pro Monat, Jahr und Kilometer. Beim Anlegen eines Fahrzeugs werden die Default-Parameter aus „Kalkulationsparameter" nach Fahrzeugtyp übernommen; die verbleibenden individuellen Felder werden in „Kalkulation" ergänzt und per „Aktualisieren" neu berechnet. Komponente: KalkulationPage.
42 42  
43 -**2. Fahrer verwalten**
99 +=== Handlungsbedarf ===
44 44  
45 -Fahrer werden jeden Tag um 4:00 in der Früh in Rimo überprüft und wenn notwendig neu angelegt oder bei Venderungen angepasst.
101 +Hochrechnungen werden bei jedem KM-Stand-Import neu berechnet. Ein neu bestelltes Fahrzeug wird zunächst über das Häkchen „Bestellt" markiert — erst danach kann es im System angelegt werden. Nach Anlage steht die Funktion „Geliefert" zur Verfügung; sobald ein Fahrzeug als geliefert markiert wird, entfällt es automatisch aus der Handlungsbedarfsliste, der Beschaffungsprozess gilt als abgeschlossen. Neu angelegte sowie aus dem Handlungsbedarf stammende Fahrzeuge erscheinen automatisch im Forecast; Ersatzfahrzeuge enthalten dort eine Referenz auf das ursprüngliche (ersetzte) Fahrzeug. Komponente: HandlungsbedarfPage.
46 46  
103 +=== Dashboard ===
47 47  
48 -**Fahrer anlegen (extern)**
105 +Zentrale Übersicht: Anzahl Fahrzeuge, Kostenübersicht und relevante Kennzahlen zum aktuellen Fuhrparkstatus. Komponente: DashboardPage.
49 49  
50 -1. Menü **„Fahrer“** öffnen
51 -1. Auf **„Fahrer hinzufügen“** klicken
52 -1. Stammdaten eingeben
53 -1. Speichern
107 +=== Benutzerverwaltung (Admin) ===
54 54  
109 +Admins können Benutzer anlegen, Passwörter ändern sowie Fahrer und Fahrzeuge zuweisen. Änderungen an Line Manager und Kostenstelle werden nachvollziehbar protokolliert (driver_attribute_history), sowohl bei manueller Änderung als auch beim täglichen RIMO-Sync. Komponente: BenutzerPage.
55 55  
111 +=== Kalkulationsparameter ===
56 56  
57 -**Fahrer bearbeiten**
113 +Anpassungen hier wirken sich auf **alle** Fahrzeuge des jeweiligen Typs aus. Dem Controlling vorbehalten (Rollen admin, demo, controlling). Komponente: KalkParamsPage.
58 58  
59 -* Stammdaten ändern (nur bei extern)
115 +=== Export & Berichte ===
60 60  
61 -----
117 +Monatliche Abrechnungen und Kostenstellen-Umbuchungen werden auf Klick erstellt und als CSV exportiert, zur Weiterverarbeitung in Excel. Gefahrene Kilometer sowie die vollständige Fahrzeugliste (inkl. Kalkulationsaufschlüsselung) können als Excel-Datei heruntergeladen werden.
62 62  
119 +== Routing ==
63 63  
64 -**3. Kilometer-Daten**
121 +|=Seite|=Beschreibung
122 +|Dashboard|Startseite, zentrale Kennzahlen
123 +|Fahrzeuge|Fahrzeugverwaltung, Zuordnung, Archiv
124 +|Fahrer|Fahrerverwaltung
125 +|KM-Dashboard|Kilometerauswertung, Monatsabrechnung
126 +|Kalkulation|Kostenkalkulation je Fahrzeug
127 +|Handlungsbedarf|Ersatzbeschaffung, Forecast
128 +|Kalkulationsparameter|Typ-Defaults (Controlling)
129 +|Benutzer|Benutzerverwaltung (Admin)
130 +|Login|Anmeldung
65 65  
66 -* Kilometerstände werden automatisch importiert (z. B. GPS / Tesla)
67 -** gpsat täglich um 4:00
68 -** tesla montags 4:00
69 -** beides jeweils Ende des Monats
70 -** Erinnerungsmail wird 3 Tage von Ende des Monats täglich ausgeschickt, wenn kein KM Stand in der Sharepoint Liste vorhanden ist. Sobald die Liste vollständig ist, wird sie auf die App übertragen.
132 +== Datenzugriff ==
71 71  
134 +Der Zugriff erfolgt über einen zentralen Axios-Client (api/index.js) in Verbindung mit React Query für Caching, Invalidierung und Hintergrund-Aktualisierung. Jede Seite bindet die für sie relevanten REST-Endpunkte des FastAPI-Backends ein (vehiclesApi, driversApi, usersApi, calcParamsApi).
72 72  
136 +== Backend ==
73 73  
74 -* Das System berechnet:
75 -** Differenzen
76 -** Jahreskilometer
77 -** aktuelle Laufleistung
138 +**Authentifizierung:** JWT (python-jose), OAuth2-Password-Flow, 8-Stunden-Tokens. Rollen: admin, demo, controlling, Benutzer (Line Manager/Fahrer). Sichtbarkeit von Fahrzeugen/Fahrern für normale Nutzer richtet sich nach Line-Manager-Zuordnung.
78 78  
140 +**Datenbank:** SQLite im WAL-Modus. Schema und nicht-destruktive Migrationen in db.py. Änderungen an Fahrzeugen, Fahrern, Kalkulationsparametern und Passwörtern werden inklusive verantwortlicher Person nachvollzogen (updated_by); Zuordnungsänderungen (Fahrzeug↔Fahrer, Fahrer↔Line-Manager/Kostenstelle) führen eine vollständige, zeitlich abgegrenzte Historie (vehicle_assignment_history, driver_attribute_history).
79 79  
142 +**Externe Anbindung:** SQL-Server-Zugriff über pyodbc (CONN_STR) für den täglichen RIMO-Sync sowie Datumsermittlung bei nachträglichen Korrekturen (rimo.sdmtool.last_update). Microsoft-Fabric-Anbindung für KM-Formular-E-Mails und SharePoint-Abgleich.
80 80  
81 -Diese Daten sind im **KM-Dashboard** einsehbar.
144 +== Architektur ==
82 82  
83 -----
146 +{{{flowchart TD
147 + A[React Frontend] --> B[React Query / Axios-Client]
148 + B --> C[nginx Reverse-Proxy]
149 + C --> D[FastAPI Backend]
150 + D --> E[(SQLite<br/>fleet.db)]
151 + D --> F[JWT Auth]
84 84  
153 + G[Cron-Skripte<br/>Projekt-Root] --> E
154 + G --> H[SQL-Server / RIMO<br/>ai.sdmperson, rimo.sdmtool]
155 + G --> I[Microsoft Fabric<br/>SharePoint / KM-Mails]
156 + G --> J[GPS-AT / Tesla APIs]
157 +}}}
85 85  
86 -**4. Kalkulation**
159 +Die Cron-Skripte laufen **unabhängig** von der FastAPI-App direkt auf dem Server (nicht im Docker-Container), schreiben aber in dieselbe fleet.db wie das Backend.
87 87  
88 -Für jedes Fahrzeug kann eine Kostenkalkulation durchgeführt werden:
161 +== Server ==
89 89  
90 -* Anschaffungskosten
91 -* Laufende Kosten (Versicherung, Wartung etc.)
92 -* Verbrauch & Energiepreise
163 +Die App läuft auf 192.168.208.2, per Docker Compose (Services backend + frontend), und liegt unter /mnt/data/fleet-manager/fuhrpark.
93 93  
165 +**Deployment bei Codeänderungen** (manuell auf dem Server auszuführen):
94 94  
167 +{{{sudo -u www-data git pull
168 +docker compose up -d --build
169 +}}}
95 95  
96 -Ergebnisse:
171 +**Cronjobs:** sudo -u www-data crontab -e, Logs unter /mnt/data/fleet-manager/fuhrpark/logs. Enthält u. a. den täglichen Fahrer-Sync (1_import_users_drivers.py) und die KM-Stand-Importe (gpsat/tesla/sharepoint über import_km.py).
97 97  
98 -* Kosten pro Monat
99 -* Kosten pro Jahr
100 -* Kosten pro Kilometer
173 +Erreichbar unter [[http:~~/~~/fleetmanager.spl-tele.com:8501>>url:http://fleetmanager.spl-tele.com:8501/]] — mit VPN und im SPL-TELE-Netzwerk.
101 101  
175 +== Hinweise ==
102 102  
103 -
104 -Wenn ein Fahrzeug hinzugefügt wird, werden die Default Parameter aus „Kalkulationsparameter“ nach Typ übernommen. Die 7 fehlenden Felder werden in „Kalkulation“ bei "bearbeiten" eingetragen und beim auf „Aktualisieren“ Drücken werden die Werte berechnet in die Tabelle eingetragen.
105 -
106 -----
107 -
108 -
109 -**5. Handlungsbedarf**
110 -
111 -Die Hochrechnungen in Handlungsbedarf werden immer neu berechnet mit den Importen der KM Stände.
112 -
113 -
114 -**Neues Fahrzeug bestellen**
115 -
116 -* Wenn neues Fahrzeug bestellt wurde, muss im Bereich „Handlungsbedarf“ das Häkchen bei „Bestellt“ gesetzt werden.
117 -* Erst danach ist es möglich, ein neues Fahrzeug im System anzulegen.
118 -
119 -
120 -
121 -**Neues Fahrzeug anlegen**
122 -
123 -* Ein Fahrzeug kann erst bearbeitet werden, nachdem es angelegt wurde
124 -* Nach der Anlage steht die Funktion „Geliefert“ zur Verfügung
125 -
126 -
127 -
128 -**Fahrzeug als geliefert markieren**
129 -
130 -* Sobald ein Fahrzeug als „geliefert“ markiert wird:
131 -** wird es automatisch aus der Handlungsbedarfsliste entfernt
132 -** gilt der Beschaffungsprozess als abgeschlossen
133 -
134 -
135 -
136 -**Darstellung im Forecast**
137 -
138 -* Neu hinzugefügte Fahrzeuge (Bereich „Fahrzeuge“)
139 -* sowie im Handlungsbedarf angelegte Fahrzeuge
140 -
141 -werden automatisch im Bereich „Forecast“ angezeigt.
142 -
143 -Zusätzlich gilt:
144 -
145 -* Fahrzeuge aus dem Handlungsbedarf enthalten im Forecast eine
146 -Referenz zum alten (ersetzten) Fahrzeug
147 -
148 -
149 -
150 -**Deaktivierung von Fahrzeugen**
151 -
152 -Wenn im Feld „Deactivation Date“ ein Datum eingetragen wird:
153 -
154 -wird das Fahrzeug ab diesem Datum automatisch:
155 -
156 -* deaktiviert
157 -* in den Bereich „Archivierte Fahrzeuge**“** verschoben
158 -
159 -----
160 -
161 -
162 -**6. Dashboard**
163 -
164 -Das Dashboard zeigt:
165 -
166 -* Anzahl Fahrzeuge
167 -* Kostenübersicht
168 -* relevante Kennzahlen
169 -
170 -Es dient als zentrale Übersicht für den aktuellen Fuhrparkstatus.
171 -
172 -----
173 -
174 -
175 -**7. Benutzerverwaltung (Admin)**
176 -
177 -Admins können:
178 -
179 -* Benutzer anlegen
180 -* Passwörter ändern
181 -* Fahrer und Fahrzeuge zuweisen
182 -
183 -----
184 -
185 -
186 -**8. Kalkulationsparameter**
187 -
188 -Wenn hier etwas angepasst wird, werden die Werte für alle Fahrzeuge dieses Typs abgeändert.
189 -
190 -----
191 -
192 -
193 -**9. Export & Berichte**
194 -
195 -* Monatliche Abrechnungen werden automatisch erstellt
196 -* Export erfolgt als CSV-Datei
197 -* Daten können in Excel weiterverarbeitet werden
198 -
199 -----
200 -
201 -
202 -**10. Hinweise**
203 -
204 -* Änderungen im Demo-Modus werden nicht gespeichert
205 -* Benutzerrechte bestimmen die Sichtbarkeit der Daten
206 -* Regelmäßige Datenpflege (z. B. Fahrerzuordnung) ist wichtig für korrekte Auswertungen
207 -
208 -
209 -
210 -
211 -**Fehlerbehebung**
212 -
213 -* **Frontend:** Streamlit
214 -* **Backend:** Python
215 -* **Datenbank:** SQLite
216 -* **Externe APIs:** Microsoft Fabric Integration
217 -
218 -Die App läuft auf 192.168.208.2, in einem Docker und liegt in: /mnt/data/fleet-manager/fuhrpark.
219 -
220 -Falls etwas in Github geändert wird muss der git pull manuell auf dem Server passieren:
221 -
222 -* sudo chown -R $USER:$USER /mnt/data/fleet-manager/fuhrpark
223 -* git pull
224 -* sudo chown -R www-data:www-data /mnt/data/fleet-manager/fuhrpark
225 -* docker compose up -d ~-~-build
226 -
227 -Es gibt cronjobs in crontab -e, mit logs in /mnt/data/fleet-manager/fuhrpark/logs.
228 -
229 -----
230 -
231 -== Verwandte Themen ==
232 -
233 -//Kuratiert — kann direkt im Editor ergänzt werden://
234 -
235 -* [[ABK (Ausschreibungssoftware)>>doc:IT-Wiki.02-Tools.ABK.WebHome]]
236 -* [[UiPath>>doc:IT-Wiki.02-Tools.UiPath.WebHome]]
237 -* [[Microsoft Intune>>doc:IT-Wiki.02-Tools.Intune.WebHome]]
238 -
239 -{{include reference="IT-Wiki.Makros.Verwandte-Themen.WebHome"/}}
240 -
241 -----
242 -**Status:** Migriert — Team-Review ausstehend · **Owner:** //(festlegen)// · **Letzter Review:** 2026-06-11
243 -
177 +* Änderungen im Demo-Modus werden nicht gespeichert.
178 +* Benutzerrechte bestimmen die Sichtbarkeit der Daten (Line-Manager-Zuordnung).
179 +* Regelmäßige Datenpflege (z. B. Fahrerzuordnung) ist wichtig für korrekte Auswertungen.
180 +* backend/data/ bzw. data/ (Projekt-Root) enthält die produktive Datenbank und ist **nicht** Teil des Git-Repos — ein git pull verändert die Datenbank nie.