Phasen
Jede Phase gilt als fertig, wenn alle Punkte gegen die alte Software geprüft sind.
0 Bestandsaufnahme und Design-Richtung 29 %
Bestandsaufnahme und Design laufen parallel. Erst die Richtung und das Design-System, die einzelnen Masken entstehen jeweils kurz bevor das Modul gebaut wird.
- Modulliste: jeder Menüpunkt mit Zweck, Tabellen, Aktionen, Abhängigkeiten (
docs/module.md) - Fachregeln aus dem PHP herausschreiben: Rechnungsnummern, Freigaben, Status, Abrechnen, Weiterberechnen (
docs/regeln.md) - Schema-Analyse: 200 Tabellen, welche werden genutzt, welche sind Altlast
- Mit Coolservice klären: Was wird täglich benutzt, was nie, was nervt am meisten
- Design: Richtung festlegen (E2), Referenz von Ben
- Design-System: Farben, Schrift, Karten, Knöpfe, Legende, Hell und Dunkel (
docs/design.md); Tabellen und Formulare folgen mit den ersten Listen - Kern-Masken als Entwurf: Auftragsliste, Auftragsdetail, Abrechnungsliste, Rechnungsmaske
1 FundamentAktuell 70 %
- Projekt anlegen (E1):
~/scalient-coolservice, Next.js 16, Tailwind 4 - Drizzle und Postgres lokal (
coolservice_neu), Typen aller 200 Alt-Tabellen insrc/db/alt.ts - Neues Datenmodell für den Kern (ersetzt durch E3: Alt-Schema 1 zu 1, Aufräumen je Modul)
- Importskript MariaDB → Postgres (
npm run import): 200 von 200 Tabellen, 1,94 Mio. Zeilen, Zeilenzahlen geprüft, ca. 75 s - Rechte aus
coolservice_user_rights_connectsteuern Menü und Startseite (alle 1.288 Einträge lesbar) - Hülle: Seitenleiste mit dem kompletten Menü aus
layout/menu.php(alle Sichtbarkeitsregeln, Popups, externe Links), Kopfleiste, Dark Mode - Startseite mit echten Daten wie
home_page.php: Urlaubskalender, Aufkommen, Kennziffern, Porto, je Bereich hinter dem eigenen Recht. Gegen die PHP-Ausgabe geprüft: 13 Kennziffern gleich, 96 Diagrammwerte gleich, Kalender-Matrix Oktober/November 2024 Zelle für Zelle gleich (Prüfsumme) - Tabellen- und Listenbausteine (
Tabelle,WerteListe), Säulendiagramm - Detail-Bausteine (Formulare, Detailansicht) mit der ersten Maske
- Mail lokal nur in die Vorschau, PDF-Erzeugung als Baustein
- Vergleichs-Setup: alte App (Docker,
LOKAL.md) und Neubau nebeneinander
2 Kern 0 %
Aufträge
- Auftragsliste mit Filtern (Problemfälle, Ersatzteile, Denns, GSK, MBG, Dos Mas, Basic, Kleinkunden, VIMO)
- Auftrag anlegen, bearbeiten, Status, Techniker zuweisen, Quickinfo
- Montagescheine und Arbeitsnachweise, Montagescheinliste
- Weiterbearbeitung-Liste (alt kaputt,
mysql_query) - Wartungsscheinliste
Stammdaten
- Kunden, Preisliste
- Ansprechpartner
- Lieferanten, Dienstleister, Techniker
Abrechnung
- Abrechnungsliste mit Freigabe
- Rechnungsmaske (Positionen, Artikel, Steuer), Rechnungsnummer, PDF mit Montageschein-Anhang
- Ausgangsrechnungen: Liste, neu, per Mail senden
- Rechnungsausgangsbuch, Export, Auswertung, Technikerauswertung
- Eingangsrechnungen: Liste, neu, Zuordnung zum Auftrag
- Weiterberechnen inkl. Häkchen „weiterberechnet“ (alt seit 01/2025 kaputt)
- Rechnungsexporte (Wattn, Coolservice)
- Freie Rechnungen (
rechnungenFrei) und externe Rechnungen (rechnungenExtern)
3 Betrieb 0 %
- Techniker-App (heute
mobil,mobilGmbH): Aufträge, Montageschein mit Unterschrift und Fotos, offline - Stempeluhr (heute
stechuhr), Stempeluhr-Zeiten, Stundenliste - Mitarbeiter: Urlaub, Krank, Urlaubsplaner, Arbeitskleidung, Arbeitsvertrag
- Lager, Mobillager, Artikel, Artikelgruppen
- Lieferscheine
- Fuhrpark, Hotels
- Tagesberichte
4 Rest 0 %
- Wartungen (Denns), Wartungsfotos (14,7 GB, Speicherort klären)
- Angebote (alt kaputt)
- Routen, Tourenplanung, Karten und POIs
- Dokumente (DMS)
- Wiki
- Auswertungen, Auswertung Service
- GLS, Dachser, Vertrieb, DOS MAS (Dachser, Vertrieb, DOS MAS alt kaputt)
- Büro-Monitore (Hauptbüro, Nebenbüro, Besprechungsraum)
- Privat-Eingangsrechnungen (alt kaputt)
- Kundenbereich (
htdocs/kunden), Telefonbuch, Benachrichtigungen
5 Umzug 0 %
- Frischen Dump vom Live-Server holen und komplett importieren
- Parallelbetrieb mit echten Fällen, Abweichungen klären
- Dateien umziehen (PDFs, Fotos, Dokumente)
- Hosting, Domain, Livegang, alte App nur noch lesend
Entscheidungen
Was festgelegt ist und was noch geklärt werden muss.
-
Entschieden
Wo lebt der Neubau?
27.10. · eigener neuer Ordner
~/scalient-coolservice(Next.js), PHP-Software ist die Vorlage für jeden Klick -
Entschieden
Design-Richtung
27.10. · Weiß mit dunklem Grün nach Bens Referenz-Screenshot
-
Entschieden
Datenbank
27.10. · Postgres; alle Alt-Tabellen 1 zu 1 (gleiche Namen) im Schema
public, eigene Tabellen im Schemaapp. So bleibt jede PHP-Abfrage direkt übersetzbar; Aufräumen je Modul später -
Entschieden
Welche Module fallen weg?
27.10. · keine, alle Funktionen bleiben
-
Entschieden
Alt kaputte Seiten (
mysql_query) und Fehler wie „weiterberechnet“27.10. · funktionierend nachbauen
-
Offen
GmbH-Teil: gehört der dazu? Dump fehlt
offen
-
Offen
Techniker-App: Web (PWA) oder nativ?
Vorschlag PWA
Verlauf
Meilensteine und jede Änderung am Neubau, neueste zuerst. Wird bei jedem Arbeitsschritt automatisch ergänzt.
-
- Alte App lokal lauffähig (
LOKAL.md), Funktionstest der Abrechnung, Roadmap angelegt - Startseite mit echten Daten, 1 zu 1 gegen PHP geprüft. Nur in der Entwicklung:
?stichtag=JJJJ-MM-TT, weil die Testdaten im November 2024 enden. Kalender im Dezember funktioniert jetzt (PHP bricht bei Monat 13 ab, E7) - Phase 1: Postgres und Drizzle, Import aller Alt-Tabellen, Login mit echten Benutzern und Rechten
- Neubau angelegt, Design-System, Hülle mit komplettem Menü und Startseite gebaut, 105 Seiten bauen fehlerfrei; alle noch nicht nachgebauten Seiten zeigen ihre PHP-Vorlage
- Entschieden: neuer Ordner
~/scalient-coolservice(E1), Kaputtes funktionierend nachbauen (E7) - Entschieden: reiner Rebuild mit allen Funktionen und gleichem Aufbau (E4), Design Weiß und Grün nach Referenz (E2)
- 15:45Startseite mit echten Daten wie home_page.php
- 15:38Beispiel-Einstellungen für Datenbank und Import
- 15:37Postgres, Import der Alt-Datenbank und Login mit echten Benutzern
- 15:29Hülle, Design-System und Startseite nach der PHP-Vorlage
- 15:18Neubau-Projekt angelegt
- Alte App lokal lauffähig (