Dieser Commit ist enthalten in:
Claude Project Manager
2025-12-28 21:36:45 +00:00
Commit ab1e5be9a9
146 geänderte Dateien mit 65525 neuen und 0 gelöschten Zeilen

55
CLAUDE.md Normale Datei
Datei anzeigen

@ -0,0 +1,55 @@
# TaskMate - Projektanweisungen
## Allgemein
- Sprache: Deutsch fuer Benutzer-Kommunikation
- Aenderungen immer in CHANGELOG.txt dokumentieren nach bisher bekannten Schema in der Datei
- Beim Start ANWENDUNGSBESCHREIBUNG.txt lesen
- Cache-Version in frontend/sw.js erhoehen nach Aenderungen
- Ich bin kein Mensch mit Fachwissen im Bereich Coding, daher musst du sämtliche Aufgaben in der Regel übernehmen.
## Technologie
- Frontend: Vanilla JavaScript (kein Framework)
- Backend: Node.js mit Express
- Datenbank: SQLite
## Konventionen
- CSS-Variablen in frontend/css/variables.css
- Deutsche Umlaute (ä, ö, ü) in Texten verwenden
## Datumsformatierung (WICHTIG)
- NIEMALS `toISOString()` für Datumsvergleiche oder -anzeigen verwenden!
- `toISOString()` konvertiert in UTC und verursacht Zeitzonenverschiebungen (z.B. 28.12. wird zu 27.12.)
- Stattdessen lokale Formatierung verwenden:
```javascript
// Richtig: Lokale Formatierung
const year = date.getFullYear();
const month = String(date.getMonth() + 1).padStart(2, '0');
const day = String(date.getDate()).padStart(2, '0');
const dateStr = `${year}-${month}-${day}`;
// Falsch: UTC-Konvertierung
const dateStr = date.toISOString().split('T')[0]; // NICHT VERWENDEN!
```
## Echtzeit-Aktualisierung (KRITISCH)
- ALLE Nutzeranpassungen müssen SOFORT und ÜBERALL in der Anwendung sichtbar sein
- Der Nutzer darf NIEMALS den Browser aktualisieren müssen (F5), um Änderungen zu sehen
- Beispiele für Änderungen, die sofort überall wirken müssen:
- Spaltenfarbe ändern → Board, Kalender, Wochenstreifen sofort aktualisieren
- Aufgabe erstellen/bearbeiten/löschen → alle Ansichten sofort aktualisieren
- Labels, Benutzer, Projekte ändern → überall sofort sichtbar
- Technische Umsetzung:
- `store.subscribe('tasks', callback)` - für Aufgabenänderungen
- `store.subscribe('columns', callback)` - für Spaltenänderungen
- `store.subscribe('labels', callback)` - für Label-Änderungen
- `store.subscribe('users', callback)` - für Benutzeränderungen
- `window.addEventListener('app:refresh', callback)` - für allgemeine Aktualisierungen
- `window.addEventListener('modal:close', callback)` - nach Modal-Schließung
- Bei JEDER neuen Komponente diese Event-Listener einbauen
- Bei JEDER Datenänderung prüfen: Welche UI-Bereiche müssen aktualisiert werden?
## Berechtigungen/Aktionen
- Du sollst den Dockercontainer eigenständig - sofern erforderlich - neu starten/neu bauen, dass Änderungen wirksam werden
- Nach Änderungen immer nach dem Neubau des Dockercontainers oder allgemein ohne Neustart des Dockercontainers, den Browser im Inkognito-Modus starten mit localhost:3000, um die Änderungen sichtbar zu machen.