From 0a23a18218a35ce019f2071bc13147345fbeaf7f Mon Sep 17 00:00:00 2001 From: arslandevelopments Date: Wed, 19 Aug 2026 14:07:43 +0200 Subject: [PATCH] readme change --- README.md | 77 ------------------------------------------------------- 1 file changed, 77 deletions(-) mode change 100644 => 100755 README.md diff --git a/README.md b/README.md old mode 100644 new mode 100755 index 737bd77..e69de29 --- a/README.md +++ b/README.md @@ -1,77 +0,0 @@ -# Habit Tracker - -Habit Tracker ist eine PHP-Webanwendung, mit der Benutzer eigene Gewohnheiten anlegen, bearbeiten, filtern und taeglich abhaken koennen. - -## Funktionen - -- Registrierung und Login mit Passwort-Hashing -- Geschuetzter Benutzerbereich per Session -- Habits erstellen, bearbeiten, loeschen und fuer heute abhaken -- Kategorien und Statusfilter im Dashboard -- Tagesprotokoll ueber `habit_logs` -- Wochenfortschritt im Dashboard gegen das persoenliche Wochenziel -- Responsive Oberflaeche fuer Desktop und Smartphone -- Serverseitige Validierung und klare Fehlermeldungen -- Schutz gegen SQL-Injection durch PDO Prepared Statements -- Schutz gegen XSS durch escaped HTML-Ausgabe -- CSRF-Schutz fuer schreibende Formulare - -## Technik - -- PHP -- HTML/CSS -- SQL -- MySQL/PDO -- MVC-Struktur - -## MVC-Struktur - -- `public/index.php`: Einstiegspunkt und Routing -- `app/Controllers/`: verarbeitet Anfragen und steuert den Ablauf -- `app/Models/`: kapselt Datenbankzugriffe -- `app/Views/`: erzeugt die HTML-Ausgabe -- `app/Core/`: gemeinsame Kernklassen fuer Datenbank und Views -- `app/helpers.php`: Hilfsfunktionen fuer Escaping, Sessions, Flash-Meldungen und CSRF -- `database/schema.sql`: Datenbankstruktur mit Startdaten - -## Datenbank - -Die Datenbank besteht aus 5 Tabellen: - -- `users`: Benutzerkonten -- `categories`: Habit-Kategorien -- `habits`: Gewohnheiten der Benutzer -- `habit_logs`: taegliche Erledigungen -- `reminders`: vorbereitete Erinnerungen pro Habit - -## Sicherheit - -- Passwoerter werden mit `password_hash()` gespeichert. -- Login prueft Passwoerter mit `password_verify()`. -- SQL-Abfragen nutzen vorbereitete PDO-Statements. -- Ausgaben werden mit `htmlspecialchars()` escaped. -- Schreibende Formulare nutzen CSRF-Tokens. -- Nach erfolgreichem Login wird die Session-ID erneuert. -- Die echte `config/config.php` wird nicht mit Git hochgeladen. - -## Einrichtung - -1. `database/schema.sql` in phpMyAdmin importieren. -2. `config/config.example.php` zu `config/config.php` kopieren. -3. Datenbankdaten in `config/config.php` eintragen. -4. Projekt ueber `public/index.php` starten. - -## Testablauf - -1. Benutzer registrieren. -2. Einloggen. -3. Habit mit Kategorie und Wochenziel erstellen. -4. Habit im Dashboard filtern. -5. Habit fuer heute abhaken. -6. Wochenfortschritt im Dashboard kontrollieren. -7. Habit bearbeiten und loeschen. -8. Seite auf Smartphone-Breite pruefen. - -## Bewertungsbezug - -Das Projekt zeigt eine klare MVC-Aufteilung, Datenbankarbeit mit mehreren verknuepften Tabellen, serverseitige Validierung, Sicherheitsmassnahmen gegen XSS, SQL-Injection und CSRF sowie eine responsive Benutzeroberflaeche.